WIN32 程序和MFC 程序生成的都是Windows应用程序。不同的是,Win32程序使用Windows SDK框架生成应用程序框架,默认该框架程序不使用MFC(微软基础类),生成的都是面向过程的程序框架,程序的入口时WinMain,使用这个框架需要对Windows SDK程序比较熟悉;MFC程序,可以选择单文档、多文档和对话框的应用程序框架,该框架支持MFC,生成的程序框架,都是C++面向对象的应用程序,程序的入口是CXXXApp。
非MFC工程使用MFC库时,可参考以下步骤\x0d\x0a1、工程设置中,将MFC的使用由原来的“使用标准windows库”改为“在共享DLL中使用MFC”(VC71)\x0d\x0a如果是英文版,相关选项是:\x0d\x0aMicrosoft Foundation Classes: Use MFC in a shared dll, no using MFC(VC6)\x0d\x0a2、头文件包含\x0d\x0a不同的MFC类需包含的头文件是不一样的。\x0d\x0a常用的类,如Cstring, Cedit 等,包含afxwin.h就可以了\x0d\x0a使用CFile类,则包含afx.h\x0d\x0a如果不清楚包含什么头文件的话,可以同msdn进行查询,msdn中,对于MFC类的介绍中,都会给出相应的header file requirement.\x0d\x0a3、#include 语句一定要写在首行\x0d\x0a另外还要注意的是,如果#include语句是在一个头文件里,那么对应头文件的包含也要写在首行。示例如下:\x0d\x0a=============\x0d\x0atest.h文件的内容如下:\x0d\x0a#include //保证该语句在首行\x0d\x0atest.cpp的文件内容如下:\x0d\x0a#include “test.h” //同样也要保证该语句在首行\x0d\x0a=============\x0d\x0a如果要用CFile\x0d\x0a就#include是微软基础类库的简称
MFC(Microsoft Foundation Classes),是微软公司提供的一个类库(class libraries),以C++类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。
MFC:微软基础类(Microsoft Foundation Classes),同VCL类似,是一种应用程序框架,随微软Visual C++开发工具发布。目前最新版本为10.0(截止2011年3月),并且发布了中文版。该类库提供一组通用的可重用的类库供开发人员使用,大部分类均从CObject 直接或间接派生,只有少部分类例外。
MFC应用程序的总体结构通常由开发人员从MFC类派生的几个类和一个CWinApp类对象(应用程序对象)组成。MFC 提供了MFC AppWizard 自动生成框架
Windows 应用程序中,MFC 的主包含文件为Afxwin.h
此外MFC的部分类为MFC/ATL 通用,可以在Win32 应用程序中单独包含并使用这些类。
由于它的易用性,初学者常误认为VC++开发必须使用MFC,这种想法是错误的。作为Application Framework,MFC的使用只能提高某些情况下的开发效率,只起到辅助作用,而不能替代整个Win32 程序设计。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)