📄 d022.bmp.txt
字号:
NULL);
)
/*an instance of type CMinMFCApp*/
UMFC通过该应用程序对象进行Initlnstance()函数,启动程序,初始化主窗口
CMinMFCApp thisApp;
上述程序段定义了一个最小的MFC应用程序所需的框架程序。其中声明了CMinMFCApp
类,它是从应用程序类CWinApp中派生下来的;和窗口CMainWindow类,它是从框架窗
口CFrameWnd类派生出来,还用CMinMFCApp定义了一个全局对象ThisApp。读者也许会
问,为什么没有WinMain函数?因为MFC已经把它封装起来了。在程序运行时,MFC应
用程序首先调用由框架提供的标准的WinMain函数。在WinMain函数中,首先初始化由
CMinMFCApp定义的惟一的实例,然后调用CMinMFCApp继承CWinApp的Run成员函数,
进入消息循环。退出时调用CWinApp的Exitlnstance函数。
由上面的说明可以看到,应用程序框架不仅提供了构建应用程序所需要的类( CWinApp,
CFrameWnd等),还定义了程序的基本执行结构。所有的应用程序都在这个基本结构基础上
完成不网的功能。
MFC除了定义程序执行结构之外,还定义了三种基本的主窗口模型:单文档窗口,多
文档窗口和对话框作为主窗口的模型。
Visual C++提供了用于支持应用程序框架两个重要的工具,它们就是前面提到的
AppWizard和ClassWizard。AppWizard用于在应用程序框架基础上迅速生成用户的应用程序
基本结构,ClassWizard用于维护这种应用程序结构。
Microsoft MFC具有以下不同于其他类库的优势:
1)完全支持Windows所有的函数、控件、消息、GDI基本图形函数,菜单及对话框。
类的设计以及同API函数的结合相当合理。
2)使用与传统的Windows API同样的命名规则,即匈牙利命名法。
3)进行消息处理时,不使用易产生错误的switch/case语句,所有消息映射到类的成员
函数,这种直接由消息到方法的映射对所有的消息都适用。它通过宏来实现消息到成员函数
的映射,而且这些函数不必是虚拟的成员函数,这样不需要为消息映射函数生成一个很大的
虚拟函数表,节省内存。
4)通过发送有关对象信息到文件的能力提供更好的判定支持,也可确认成员变量。
5)支持异常错误的处理,减少了程序出错的机会。
6)遥行时确定数据对象的类型。这允许实例化时动态操作各域。
7)有较少的代码和较快的速度。MFC库只增加了少于40KB的目标代码,效率只比传
统的C Windows程序低596。
8)可以利用与MFC紧密结合的AppWizard和ClassWizard等工具快速开发出功能强大
的应用程序。
9)在使用MFC时还允许混合使用传统的函数调用。
1.3.2 MFC对消息的管理
Windows消息的管理包括消息发送和处理。为了支持消息发送机制,MFC提供了三个
22
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -