还有MFC的案例

Aar*_*her 18 mfc visual-c++

MFC有哪些引人注目的功能?为什么要为新项目选择它?

m_p*_*tor 17

10年前,MFC是不错的选择.它仍然是Win32 API的一个很好的包装,但遗憾的是已经过时了.

奇趣科技的QT是一个更好的选择,有一个很大的优势 - 它独立于平台.使用MFC,你注定要注意Windows.

  • 来自我的+1,我喜欢从MFC到Qt的飞跃;) (2认同)

Ger*_*ald 10

我仍然使用MFC用于各种应用程序.MFC从它的早期实现中获得了糟糕的说法,但它现在非常出色.我发现它比WTL更方便.此外,Visual Studio中的GUI工具已经设置好,可以使用MFC快速开发GUI,将控件映射到变量,DDX等.

对于我打算进行广泛分发的桌面应用程序,我仍然使用本机Windows应用程序,通常是在MFC中,因为我们仍然不能依靠您的客户拥有您将使用的.NET版本安装并要求他们安装它会导致您失去销售,更不用说客户服务因为试图让您的应用程序运行而遇到安装.NET的问题而头疼.

  • 我很确定我从未说过"优秀的抽象".它并不意味着隐藏Win32 API的细节,它旨在提供一种方法来更快,更统一地开发使用Win32 API的应用程序,同时仍然可以在必要或方便时直接调用Win32 API.在那,它是非常好的. (6认同)
  • 如果您还不知道Win32 API,那么它不适合您,但如果您这样做,肯定会帮助您更快地开发它们.或者,至少,它对我有帮助,而且很多人都喜欢我.我在大多数跨平台GUI开发中都使用Qt,但是在开发Windows时我仍然更喜欢MFC,因为它存在的原因; 消除了许多使用Win32 API的重复工作,同时仍然可以完全控制和访问底层API. (4认同)
  • 可调整大小的对话框*微不足道*?现在我很想知道你使用的是哪个MFC版本。(因为它们不是)无论如何,我对 Win32 API 本身没有任何问题,但是我认为 MFC 添加了很多笨拙的东西,实际上没有任何附加价值(实际上我自己能想到的每一个设计,或者像 WTL 这样的每一个现成的工具包更适合这种情况) (2认同)
  • 您捕获 resize/ing 消息,并相应地调整控件的大小,这并不难。您不会得到可以自动调整大小的精美布局管理器,但我的经验是,除了最简单的情况之外,它们永远不会给您确切想要的东西。我不能说我看到了你所说的“笨拙的东西”。有具体例子吗? (2认同)

Joe*_*orn 8

MFC的优势在于,它仍然比编写裸机win32更好,你可以分发一个不需要23-50Mb运行时的原生.exe,如.Net.

现在,如果你关注那些东西,那里有更好的替代品:C++ Builder,WxWidgets等.但有些地方不会考虑非Microsoft工具.


Cor*_*ger 8

您可以改写问题,为什么要为桌面应用程序选择C++而不是C#.C++仍然提供速度优势,这对某些应用程序很重要(我为一家为电子交易创建软件的公司工作.速度很重要).

如果你打算开发一个仅在C++中针对Windows的桌面应用程序,那么MFC是最成熟的选择,在互联网上有很多基于MFC的免费代码,知识很多.

  • 在交易应用程序时,用户界面也必须快速,以跟上最后交易价格等. (4认同)

Roe*_*oel 7

除了win32 api本身,MFC是唯一的主流Windows编程技术,在2011年经过15年以上仍然存在.早在2001年,每个人都说'MFC已经死了,现在就是Winforms'; 在2005年,每个人都说'MFC已经死了,现在都是XAML'; 现在是2011年,Winforms和XAML已经死了(OK XAML可能并没有真正死亡,但已经过了巅峰期),MFC仍然在更新最新的发展(功能区,Aero扩展,Win7 API等).

当然,这不能保证未来的任何事情,但是在这15年以上,编写了许多 MFC代码,它将在未来十年或几十年内继续使用.它可能不是最漂亮的技术,但它很好理解(它的优点和缺点)并且不像其他炒作技术那样是一个移动目标,这意味着真正想要完成任务的人可以依赖它(更多而不是替代品,无论如何).

(同样适用于C++,顺便说一句)

  • XAML 是新的 Windows 8 内容的重要组成部分(以及“本机”代码)。//Build/ 主题演讲中没有提及 MFC。也许安装过Win8预览版的人都可以评论一下MFC。 (2认同)

Rob*_*Rob 6

这是一种可能性 - 想象一个需要大量内存的应用程序,比如一个图形程序,一个游戏或者一些高性能的业务应用程序..NET应用程序占用内存已经不是什么秘密 - 在这种情况下,您可能需要一个精简的MFC应用程序作为应用程序的核心.您始终可以通过COM可调用包装器或直接通过C++/CLI加载和使用.NET组件,控件等.

所有人都说 - MFC是一种痛苦.请考虑使用WTL - 如果需要,您仍然可以调用.NET,就像我上面提到的MFC一样.WTL比MFC好很多:-)


Ein*_*nar 5

显然,对于基于 Windows 的手持设备(例如销售点设备)的应用程序来说,它仍然是一个不错的选择。在这些中,资源是有限的,因此内存管理之类的事情变得更加重要。


Fra*_*ger 4

快速浏览新的 MFC 功能

我听说他们有一个新的功能区控件。如果你喜欢这种复杂性。这是新生成的应用程序的屏幕截图:


(来源:msdn.com

实际上,这只是一个小部件更新。那么我们需要更多的小部件吗?

  • 现在您知道 Office 是用什么编写的,以及那些人想要什么,他们就能得到什么。Sinofsky 表示 VS 的下一个版本将专注于 C++,但我们会在发布时看到这一点。 (2认同)
  • Windows 7 和 8 上的 @HostileFork 写字板似乎是本机 Win32,因为它们使用 Windows Ribbon Framework 中的 Scenic UI,而不是丑陋的 MFC 功能区。 (2认同)