MFC框架基礎介紹學習教案_第1頁
MFC框架基礎介紹學習教案_第2頁
MFC框架基礎介紹學習教案_第3頁
MFC框架基礎介紹學習教案_第4頁
MFC框架基礎介紹學習教案_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、會計學1MFC框架框架(kun ji)基礎介紹基礎介紹第一頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺2第1頁/共77頁第二頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺3Windows耐心和豐富的編程經(jīng)驗的。第2頁/共77頁第三頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺4第3頁/共77頁第四頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺5第4頁/共77頁第五頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺6第5

2、頁/共77頁第六頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺7第6頁/共77頁第七頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺8能只需要使用其中的10多個MFC中的不同類就可以建立一個非常漂亮的程序。第7頁/共77頁第八頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺9CDocumentCObjectCCmdTargetCWinThreadCWinAppCOleControlModuleApplicationuser documentCDocTemplateCSingleDocTemp

3、lateCMultiDocTemplateCViewCWndCFrameView第8頁/共77頁第九頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺10第9頁/共77頁第十頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺11CObjectCCmdTargetCWndCFrameWndCViewCDialogBox第10頁/共77頁第十一頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺12第11頁/共77頁第十二頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺1

4、3CObjectCCmdTargetCWinThreadCDocumentCWinApp第12頁/共77頁第十三頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺14CObjectCDCCClientDCCPaintDCCWindowDC第13頁/共77頁第十四頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺15CObjectCGdiObjectCPenCBrushCFont第14頁/共77頁第十五頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺16第15頁/共77頁第十六頁,共78頁。12/4

5、/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺17第16頁/共77頁第十七頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺18 RUNTIME_CLASS獲得運行時類的CRuntimeClass結構的指針DECLARE_DYNAMIC提供基本的運行時類型識別(聲明)IMPLEMENT_ DYNAMIC提供基本的運行時類型識別(實現(xiàn))DECLARE_DYNCREATE動態(tài)創(chuàng)建(聲明)IMPLEMENT_DYNCREATE動態(tài)創(chuàng)建(實現(xiàn))DECLARE_SERIAL對象序列化(聲明)IMPLEMENT_SERIAL對象序列化(實現(xiàn))DECLARE_M

6、ESSAGE_MAP聲明消息映射表BEGIN_MESSAGE_MAP開始建立消息映射表END_MESSAGE_MAP結束建立消息映射表ON_COMMAND命令消息映射宏ON_MESSAGE自定義消息映射宏ON_WM_MFC預定義消息映射宏ON_BN_ , ON_CBN_ 等控件通知(Notification)消息映射宏第17頁/共77頁第十八頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺19第18頁/共77頁第十九頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺20調試時在Output窗口輸出以下內(nèi)容:Name = LiMi

7、ng, Age = 18 第19頁/共77頁第二十頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺21例例2 設自定義一個設自定義一個CFrameWnd的派生類的派生類CMyFrame,在程序中構建一個與,在程序中構建一個與CMyFrame相相關聯(lián)的文檔模板對象關聯(lián)的文檔模板對象(duxing),并為構鍵的文檔模板創(chuàng)建框架窗口:,并為構鍵的文檔模板創(chuàng)建框架窗口: CMyFrame* pFrame=(CMyFrame*) AfxGetMainWnd(); ASSERT(pFrame-IsKindOf(RUNTIME_CLASS (CMyFrame); / 判斷判

8、斷pFrame的類型的類型 pFrame-DoSomeOperation(); ASSERT(1=2);/當條件為假時,退出程序當條件為假時,退出程序調試的時候可以調用調試的時候可以調用第20頁/共77頁第二十一頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺22第21頁/共77頁第二十二頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺23MFC庫中的類按層次關系劃分類根類:CObject應用程序體系結構類窗口、對話框和控件類繪圖和打印類簡單數(shù)據(jù)類型類數(shù)組、列表(li bio)和映射類文件和數(shù)據(jù)庫類Internet和網(wǎng)絡工作類

9、OLE類調試和異常類第22頁/共77頁第二十三頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺24第23頁/共77頁第二十四頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺25第24頁/共77頁第二十五頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺26void CMyView:OnSomeCommand()BeginWaitCursor(); / 顯示沙漏狀光標. . . . . . / 進行(jnxng)某種操作EndWaitCursor(); / 恢復原來光標的形狀第25頁/共77頁第二

10、十六頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺27第26頁/共77頁第二十七頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺28CWndCWnd提供提供(tgng)(tgng)了了MFCMFC中所中所有窗口類的基本功能,是有窗口類的基本功能,是CCmdTargetCCmdTarget類的子類類的子類創(chuàng)建創(chuàng)建WindowsWindows窗窗口要分兩步口要分兩步進行進行引入構造函數(shù),構引入構造函數(shù),構造一個造一個CWndCWnd對象對象調用調用CreateCreate建立建立WindowsWindows窗窗口,并將它連到口,

11、并將它連到CWndCWnd對象上對象上第27頁/共77頁第二十八頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺29視類:視類:CViewCView類類該類表示框架窗口的客戶區(qū)和顯示文檔數(shù)據(jù)并接收輸入的客戶區(qū)該類表示框架窗口的客戶區(qū)和顯示文檔數(shù)據(jù)并接收輸入的客戶區(qū),其派生類主要有如下幾種:其派生類主要有如下幾種:lCScrollViewCScrollView:具有滾動功能的視的基類:具有滾動功能的視的基類lCFormViewCFormView:其布局在對話資源中定義的滾動視:其布局在對話資源中定義的滾動視lCEditViewCEditView:具有文本編輯、查

12、找、替換和滾動功能的:具有文本編輯、查找、替換和滾動功能的視視第28頁/共77頁第二十九頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺30菜單菜單(ci dn)(ci dn)類:類:CMenuCMenu類類該類是該類是CObjectCObject類的子類,用于管理菜單。它是一個類的子類,用于管理菜單。它是一個Windows HMenuWindows HMenu的封裝,提供了與窗口有關的菜單資源建的封裝,提供了與窗口有關的菜單資源建立、修改、跟蹤及刪除的成員函數(shù)。立、修改、跟蹤及刪除的成員函數(shù)。對話框類:對話框類:CDialogCDialog類類由于對話框是一

13、個特殊的窗口,所以該類是從由于對話框是一個特殊的窗口,所以該類是從CWndCWnd類中派生類中派生出來的。出來的。對話框子層次結構包括通用對話框類對話框子層次結構包括通用對話框類CDialogCDialog以及支持文件選擇、顏色選擇、字體選擇、打印、替換文本以及支持文件選擇、顏色選擇、字體選擇、打印、替換文本的公共對話框子類。的公共對話框子類。第29頁/共77頁第三十頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺31控件類控件類 控件子層次結構包括若干類,使用這些類可建立靜態(tài)文本、命令按鈕、控件子層次結構包括若干類,使用這些類可建立靜態(tài)文本、命令按鈕、位圖按

14、鈕、列表框、組合位圖按鈕、列表框、組合(zh)(zh)框、滾動條、編輯框等。這些直觀控件為框、滾動條、編輯框等。這些直觀控件為WindowsWindows應用程序提供了各種輸入和顯示界面。應用程序提供了各種輸入和顯示界面??丶l類:控件條類:CControlBarCControlBar類類 控件條子層次結構為工具條、狀態(tài)條、對話條和分割窗口建立模型??丶l子層次結構為工具條、狀態(tài)條、對話條和分割窗口建立模型。該類是該類是CToolBarCToolBar、CStatusBarCStatusBar、CDialogBarCDialogBar的基類,負責管理工具條的基類,負責管理工具條、狀態(tài)條、對話條

15、的一些成員函數(shù)??丶l指的是連接在主窗口框架的、狀態(tài)條、對話條的一些成員函數(shù)??丶l指的是連接在主窗口框架的頂部或底部的小窗口頂部或底部的小窗口第30頁/共77頁第三十一頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺32繪畫繪畫(huhu)(huhu)對象類:對象類:CGdiObjectCGdiObject類類圖形繪畫對象子層次結構以圖形繪畫對象子層次結構以CGdiObjectCGdiObject類為根類,可用于建立繪畫對象類為根類,可用于建立繪畫對象模型,模型,如畫筆、刷子、字體、位圖、調色板等。如畫筆、刷子、字體、位圖、調色板等。設備描述表類:設備描述表

16、類:CDCCDC類類該類及其子類支持設備描述表對象,是該類及其子類支持設備描述表對象,是CObjectCObject類的子類。類的子類。CDCCDC類是一個較大的類,包括許多成員函數(shù),如映射函數(shù)、繪畫工具函數(shù)、類是一個較大的類,包括許多成員函數(shù),如映射函數(shù)、繪畫工具函數(shù)、區(qū)域函數(shù)等,通過區(qū)域函數(shù)等,通過CDCCDC對象的成員函數(shù)可以完成所有的繪畫工作對象的成員函數(shù)可以完成所有的繪畫工作第31頁/共77頁第三十二頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺33第32頁/共77頁第三十三頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh

17、):鮑鈺34第33頁/共77頁第三十四頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺35此類提供了許多此類提供了許多(xdu)(xdu)通用服務,例如文件通用服務,例如文件I/OI/O、診斷和異常處、診斷和異常處理等,此外還包括如數(shù)組和列表等存放數(shù)據(jù)集的類理等,此外還包括如數(shù)組和列表等存放數(shù)據(jù)集的類1 1文件類:文件類:CFileCFile類和類和CArchiveCArchive類類用以編寫輸入輸出處理函數(shù)用以編寫輸入輸出處理函數(shù)2 2異常類:異常類:CExceptionCException類類是所有異常情況的基類。不能直接建立是所有異常情況的基類。不能直接

18、建立CExceptionCException對象,只能建立派生類的對象對象,只能建立派生類的對象,用派生類來捕獲指定的異常情況,用派生類來捕獲指定的異常情況3 3模板收集類模板收集類這些類可以將多種對象存放到數(shù)組、列表和這些類可以將多種對象存放到數(shù)組、列表和“ 映射映射”中。但這些收集類是模板,它們的參數(shù)確定了存放在中。但這些收集類是模板,它們的參數(shù)確定了存放在集合中的對象類型。集合中的對象類型。第34頁/共77頁第三十五頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺36nAfxAbort: 無條件終止一個應用程序無條件終止一個應用程序nAfxBeginTh

19、read: 創(chuàng)建一個新線程并執(zhí)行它創(chuàng)建一個新線程并執(zhí)行它nAfxEndThread: 終止當前正在執(zhí)行的線程終止當前正在執(zhí)行的線程nAfxFormatString: 格式化字符串格式化字符串nAfxMessageBox: 顯示一個顯示一個Windows消息框消息框nAfxGetApp: 返回當前應用程序對象的指針返回當前應用程序對象的指針nAfxGetAppName: 返回應用程序的名稱返回應用程序的名稱nAfxGetMainWnd: 返回指向應用程序主窗口的指針返回指向應用程序主窗口的指針nAfxGetInstanceHandle:返回標識當前應用程序對象的句柄:返回標識當前應用程序對象的句

20、柄nAfxRegisterWndClass: 注冊用于創(chuàng)建注冊用于創(chuàng)建Windows窗口的窗口類窗口的窗口類第35頁/共77頁第三十六頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺37第36頁/共77頁第三十七頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺38第37頁/共77頁第三十八頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺39第38頁/共77頁第三十九頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺40第39頁/共77頁第四十頁,共78頁。12/

21、4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺41第40頁/共77頁第四十一頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺42第41頁/共77頁第四十二頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺43第42頁/共77頁第四十三頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺44第43頁/共77頁第四十四頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺45第44頁/共77頁第四十五頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師

22、(jingsh):鮑鈺46第45頁/共77頁第四十六頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺47第46頁/共77頁第四十七頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺48第47頁/共77頁第四十八頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺49第48頁/共77頁第四十九頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺50第49頁/共77頁第五十頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺51第50頁/共77

23、頁第五十一頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺52第51頁/共77頁第五十二頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺53第52頁/共77頁第五十三頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺54第53頁/共77頁第五十四頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺55第54頁/共77頁第五十五頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺56InitInstance()函數(shù)是派生類唯一函數(shù)是派生類

24、唯一(wi y)需要重載的函數(shù),它負責應用程序的初始化需要重載的函數(shù),它負責應用程序的初始化,如初始化數(shù)據(jù)、創(chuàng)建文檔模板、處理命令行以及顯示應用程序主窗口。,如初始化數(shù)據(jù)、創(chuàng)建文檔模板、處理命令行以及顯示應用程序主窗口。第55頁/共77頁第五十六頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺57第56頁/共77頁第五十七頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺58第57頁/共77頁第五十八頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺59第58頁/共77頁第五十九頁,共78頁。12

25、/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺60第59頁/共77頁第六十頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺61第60頁/共77頁第六十一頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺62第61頁/共77頁第六十二頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺63第62頁/共77頁第六十三頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺64第63頁/共77頁第六十四頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺65第64頁/共77頁第六十五頁,共78頁。12/4/2021WINDOWS程序開發(fā) 講師(jingsh):鮑鈺66第65頁/共77頁第六十六頁,共78頁。12/4/20

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論