关于MFC开发的一些问题?

时间:2009-08-03 14:55:58

标签: c++ dll mfc user-interface activex

如何在MFC中开发UI? 你使用任何免费的图书馆,或通常从头开发? 在C ++开发的软件中总是有这么多DLL文件,它们用于什么?

MFC ActiveX控件和MFC DLL之间有什么区别?

5 个答案:

答案 0 :(得分:3)

Visual Studio 2008通过添加“Feature Pack”来增强MFC。这允许您创建MS Office 2007样式的GUI(以及其他),并使用功能区栏。

http://msdn.microsoft.com/en-us/library/bb982354.aspx

我使用MFC削减了我的C ++牙齿,但我建议你看看 Qt - 这是一个更现代的框架,你可以获得跨平台支持(Linux,Mac等)免费。 MFC几乎是一个死机框架恕我直言(功能包被买进,实际上是BCG库的缩减版本。)

http://www.bcgsoft.com/

如果你想坚持使用MFC,还有另一个流行的GUI框架,CodeJock:

http://www.codejock.com/products/overview.asp?platform=mfc

答案 1 :(得分:1)

MFC(Microsoft Foundation / Frustration Class)是Microsoft向C ++开发人员提供Framework的一种旧方法。在那些日子里,它是微软提供的唯一框架,因此approch非常老(我认为是Win95)。

MFC是一个由String,Gui,Controls等组成的工具箱...... CString,CWindow,CTreeControl,......

此外,它还包含一个组件框架(ActiveX)和基于Gui的组件框架 ActivX控件可能包含工具箱的所有部分。

所有功能都托管在mfc ??。dll和其他dll taht已成为Microsft操作系统本身的一部分,并包含许多Windows的兼容性东西。 (大多数应用程序包括Word Excel,...都是使用MFC实现的。)

今天我不建议再开始使用MFC了。如果你不得不关心MFC,你注定要失败,但我建议你使用一个较新的MS炒作或使用Qt或任何基于Gui的工具箱。

其中大多数都比MFC更现代。

答案 2 :(得分:1)

首先是

Get yourself a good book。如果你不介意花一点钱,还有一些third parties controls。最后,codeproject有数百个MFC示例。

答案 3 :(得分:0)

学习MFC的标准书是this一本。

由于您没有列出令您不安的DLL,我无法对它们发表评论。但是在本机代码中,常用函数被分离为DLL。

ActiveX控件是COM(组件对象模型)功能的“块”,旨在可从多种语言访问。 COM与MFC没有特定的连接,除了MFC可以像任何其他MS产品一样使用COM组件。

MFC DLL有两种类型,扩展名和常规。常规DLL就像任何其他DLL一样。扩展DLL与MFC更紧密地集成,只能与MFC应用程序一起使用,并且可以导出MFC类和函数。

答案 4 :(得分:0)

  

如何在MFC中开发UI?

MFC GUI通常被定义为使用Windows资源编译器编译并使用Visual Studio内置的MFC特定资源文件编辑器编辑的Windows资源文件。

但由于资源文件只是纯文本,因此也可以在任何文本编辑器中手动创建和编辑它。

  

MFC之间有什么区别   ActiveX控件和MFC DLL?

MFC只不过是一组C ++库类,旨在包装现有的Windows技术。

例如, MFC ActiveX 控件只不过是用MFC编写的 Windows ActiveX控件,同样 MFC DLL 是<用MFC编写的em> Windows DLL 。

我还建议花一些时间来了解一下底层的Win32层。实际上MFC只是标准Win32顶层的一个非常薄的层,所以任何Win32的知识总是派上用场。