資源描述:
《Windows程序設(shè)計(jì)教程 第2版 教學(xué)課件 作者 王秀梅 第4章-MFC應(yīng)用程序框架.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、如果把設(shè)計(jì)Windows應(yīng)用程序所需要的API函數(shù)和數(shù)據(jù)封裝成類,然后根據(jù)類的3大特性來開發(fā)程序,則會(huì)大大提高程序的編程效率。而MFC通過C++語言的類,恰恰實(shí)現(xiàn)了對大部分WindowsAPI的封裝。通過MFC中專門的類,可以快速地創(chuàng)建應(yīng)用程序的框架。本章將對MFC應(yīng)用程序框架中的知識點(diǎn)進(jìn)行詳細(xì)介紹。應(yīng)用程序向?qū)ppWizard4.1使用項(xiàng)目工作區(qū)4.2MFC應(yīng)用程序的基本類4.34.1應(yīng)用程序向?qū)ppWizardMFC應(yīng)用程序向?qū)ppWizard是VisualStudio環(huán)境中的可視化編程工具。使用AppWizard可以迅速創(chuàng)建應(yīng)用程序的框架。用戶只需在此框架
2、的基礎(chǔ)上編程,即可實(shí)現(xiàn)所需的特定功能。4.1.1創(chuàng)建應(yīng)用程序框架圖4.1【New】對話框圖4.2【MFCAppWizard–Step1】對話框圖4.3【MFCAppWizard–Step2】對話框圖4.4【MFCAppWizard–Step3】對話框圖4.5【MFCAppWizard–Step4】對話框圖4.6【MFCAppWizard–Step5】對話框圖4.7【MFCAppWizard–Step6】對話框圖4.8【NewProjectInformation】對話框4.1.2編譯運(yùn)行應(yīng)用程序在4.1.1節(jié)中,經(jīng)過一系列的操作創(chuàng)建了一個(gè)應(yīng)用程序框架。選擇菜單欄中【Bu
3、ild】選項(xiàng),出現(xiàn)彈出式菜單,如圖4.9所示。單擊【Build】
4、【BuildHelloWorld.exe】命令編譯程序,然后單擊【Build】
5、【ExecuteHelloWorld.exe】命令運(yùn)行程序。運(yùn)行結(jié)果如圖4.10所示。圖4.9【Build】彈出式菜單圖4.10HelloWorld程序的運(yùn)行結(jié)果4.1.3查看生成文件信息在編譯運(yùn)行程序后,在程序的創(chuàng)建目錄下生成了一系列與程序有關(guān)的文件。這些文件的擴(kuò)展名各有不同,如圖4.11所示。圖4.11查看生成文件信息MFCAppWizard為HelloWorld應(yīng)用程序生成了4個(gè)相關(guān)類:(1)CHelloWorldAp
6、p:應(yīng)用程序類,其主要用于程序的初始化及結(jié)束處理;(2)CHelloWorldDoc:文檔類,其主要用于應(yīng)用程序中數(shù)據(jù)的存儲(chǔ)、修改與管理;(3)CHelloWorldView:視圖類,其主要用于人機(jī)交互并顯示數(shù)據(jù);(4)CMainFrame:主窗口類,其主要用于主窗口的創(chuàng)建、顯示及消息的派發(fā)。各個(gè)類的相關(guān)信息如表4.2所示。4.2使用項(xiàng)目工作區(qū)工程是應(yīng)用程序開發(fā)的基本單位。在VisualC++中,項(xiàng)目工作區(qū)將應(yīng)用程序中的類、資源、消息處理函數(shù)分類,用類視圖、資源視圖和文件視圖3個(gè)窗口展示給用戶。項(xiàng)目工作區(qū)如圖4.12所示。圖4.12項(xiàng)目工作區(qū)工作區(qū)由3個(gè)標(biāo)簽組成,分別
7、為ClassView(類視圖)、ResourceView(資源視圖)和FileView(文件視圖)。通過使用工作區(qū)中的樹控件,可以找到相應(yīng)的代碼和資源。例如,雙擊ClassView中樹控件相應(yīng)的函數(shù)名,可以找到相應(yīng)的代碼段。在ResourceView中顯示相應(yīng)的資源,如對話框、圖標(biāo)、菜單、加速鍵、工具欄、版本信息等。3個(gè)視圖分別如圖4.13所示。(a)類視圖(b)資源視圖(c)文件視圖圖4.13查看項(xiàng)目工作區(qū)4.3MFC應(yīng)用程序的基本類在MFC的眾多類中,其大多數(shù)類都是從CObject、CCmdTarget和CWnd中派生出來的。其中,CObject類是所有MFC類的
8、原始基類,CCmdTarget類是從CObject類派生出來的,而CWnd又是從CCmdTarget類派生出來的。MFC中的基本類如圖4.14所示。圖4.14MFC中的基本類4.3.1CObject類CObject類是MFC類庫的基類,MFC中的類大多數(shù)都是直接或是間接從它派生出來的。CObject類本身并不提供什么功能,主要是通過內(nèi)部宏來完成實(shí)際的工作。CObject類的派生類有3個(gè)基本特性:持久性(Serialization)、診斷性(Diagnostic)和動(dòng)態(tài)性(Run-time)。4.3.2窗口、對話框、控件類CWnd類是所有窗口類的基類。所謂的窗口,不僅僅
9、指人們平時(shí)所看到的MFC框架中的窗口,對話框和控件也屬于特殊的窗口。下面對MFC中典型的窗口、對話框以及控件做簡單介紹。1.窗口這里的窗口是指MFC框架中的兩個(gè)主要窗口:框架窗口和視圖類窗口??蚣艽翱诘淖饔檬菫閼?yīng)用或應(yīng)用的一部分充當(dāng)框架,它通常還包含其他的窗口,如視圖、工具欄以及狀態(tài)欄等。CframeWnd類是框架窗口的基類,CframeWnd類直接支持單文檔界面(SDI)。對于多文檔界面(MDI),可以使用其派生類CMDIFrameWnd和CMDIChildWnd。視圖類CView及其派生類表示框架窗口的客戶區(qū)。視圖類的主要功能是顯示文檔數(shù)據(jù),并接