?? d022.bmp.txt
字號(hào):
NULL);
)
/*an instance of type CMinMFCApp*/
UMFC通過該應(yīng)用程序?qū)ο筮M(jìn)行Initlnstance()函數(shù),啟動(dòng)程序,初始化主窗口
CMinMFCApp thisApp;
上述程序段定義了一個(gè)最小的MFC應(yīng)用程序所需的框架程序。其中聲明了CMinMFCApp
類,它是從應(yīng)用程序類CWinApp中派生下來的;和窗口CMainWindow類,它是從框架窗
口CFrameWnd類派生出來,還用CMinMFCApp定義了一個(gè)全局對(duì)象ThisApp。讀者也許會(huì)
問,為什么沒有WinMain函數(shù)?因?yàn)镸FC已經(jīng)把它封裝起來了。在程序運(yùn)行時(shí),MFC應(yīng)
用程序首先調(diào)用由框架提供的標(biāo)準(zhǔn)的WinMain函數(shù)。在WinMain函數(shù)中,首先初始化由
CMinMFCApp定義的惟一的實(shí)例,然后調(diào)用CMinMFCApp繼承CWinApp的Run成員函數(shù),
進(jìn)入消息循環(huán)。退出時(shí)調(diào)用CWinApp的Exitlnstance函數(shù)。
由上面的說明可以看到,應(yīng)用程序框架不僅提供了構(gòu)建應(yīng)用程序所需要的類( CWinApp,
CFrameWnd等),還定義了程序的基本執(zhí)行結(jié)構(gòu)。所有的應(yīng)用程序都在這個(gè)基本結(jié)構(gòu)基礎(chǔ)上
完成不網(wǎng)的功能。
MFC除了定義程序執(zhí)行結(jié)構(gòu)之外,還定義了三種基本的主窗口模型:單文檔窗口,多
文檔窗口和對(duì)話框作為主窗口的模型。
Visual C++提供了用于支持應(yīng)用程序框架兩個(gè)重要的工具,它們就是前面提到的
AppWizard和ClassWizard。AppWizard用于在應(yīng)用程序框架基礎(chǔ)上迅速生成用戶的應(yīng)用程序
基本結(jié)構(gòu),ClassWizard用于維護(hù)這種應(yīng)用程序結(jié)構(gòu)。
Microsoft MFC具有以下不同于其他類庫的優(yōu)勢(shì):
1)完全支持Windows所有的函數(shù)、控件、消息、GDI基本圖形函數(shù),菜單及對(duì)話框。
類的設(shè)計(jì)以及同API函數(shù)的結(jié)合相當(dāng)合理。
2)使用與傳統(tǒng)的Windows API同樣的命名規(guī)則,即匈牙利命名法。
3)進(jìn)行消息處理時(shí),不使用易產(chǎn)生錯(cuò)誤的switch/case語句,所有消息映射到類的成員
函數(shù),這種直接由消息到方法的映射對(duì)所有的消息都適用。它通過宏來實(shí)現(xiàn)消息到成員函數(shù)
的映射,而且這些函數(shù)不必是虛擬的成員函數(shù),這樣不需要為消息映射函數(shù)生成一個(gè)很大的
虛擬函數(shù)表,節(jié)省內(nèi)存。
4)通過發(fā)送有關(guān)對(duì)象信息到文件的能力提供更好的判定支持,也可確認(rèn)成員變量。
5)支持異常錯(cuò)誤的處理,減少了程序出錯(cuò)的機(jī)會(huì)。
6)遙行時(shí)確定數(shù)據(jù)對(duì)象的類型。這允許實(shí)例化時(shí)動(dòng)態(tài)操作各域。
7)有較少的代碼和較快的速度。MFC庫只增加了少于40KB的目標(biāo)代碼,效率只比傳
統(tǒng)的C Windows程序低596。
8)可以利用與MFC緊密結(jié)合的AppWizard和ClassWizard等工具快速開發(fā)出功能強(qiáng)大
的應(yīng)用程序。
9)在使用MFC時(shí)還允許混合使用傳統(tǒng)的函數(shù)調(diào)用。
1.3.2 MFC對(duì)消息的管理
Windows消息的管理包括消息發(fā)送和處理。為了支持消息發(fā)送機(jī)制,MFC提供了三個(gè)
22
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -