深入淺出MFC筆記_第1頁(yè)
深入淺出MFC筆記_第2頁(yè)
深入淺出MFC筆記_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、深入淺出MFC筆記用AppWizard產(chǎn)生一個(gè)MD1工程T (無(wú)OLE等支持),AppWizard創(chuàng)建了一系列文件, 構(gòu)成了一個(gè)應(yīng)用程序框架。這些文件分四類:頭文件(.h),實(shí)現(xiàn)文件(.cpp),資源文件 (.rc),模塊定義文件(.def),等。構(gòu)成應(yīng)用程序的對(duì)象圖17解釋了該應(yīng)用程序的結(jié)構(gòu),箭頭表示信息流向。從 CWinApp、CDocument. CView. CMDIFrameWnd. CYDIChildWnd 類對(duì)應(yīng)地派生出 CTAppv CTDocx CTViewx CMainFrame、CChildFrame五個(gè)類,這五個(gè)類的實(shí)例分別是應(yīng)用 程序?qū)ο蟆⑽臋n對(duì)象、視對(duì)象、主框架窗口

2、對(duì)象和文檔邊框窗口對(duì)象。主框架窗口包含了 視窗口、工具條和狀態(tài)欄。表AppWizard所生成的頭文件頭文件stdafx. h用途 標(biāo)準(zhǔn)AFX頭文件resource, h定義了各種資源ID t. h include '定義了從CWinApp派生的應(yīng)用程序?qū)ο驝TApp childfrm.h定義了從 CMDIChildWnd派生的文檔框架窗口對(duì)象CTChildFrame mainfrm. h 定義了從 CNfDIFrameWnd 派生的框架窗口對(duì)象 CMainFrame tdoc. h tview. h定義了從CDocument派生的文檔對(duì)象CTDoc定義了從CView派生的視圖對(duì)象CTV

3、iew 1表1-2 AppWizard所生成的實(shí)現(xiàn)文件實(shí)現(xiàn)文件stdafx. cpp所包含的頭文件include '實(shí)現(xiàn)的內(nèi)容和功能用來(lái)產(chǎn)生 預(yù)編譯的類型信息。定義CTApp的實(shí)現(xiàn),并定義CTApp類型的全局變量theAppot. cpp # include # include # include # include #include #include childfrm. cpp rtinlcude #include #include "childfrm.h”實(shí)現(xiàn)了類CChildFrame childfrm. cpp rtinlcude #include #include &

4、#39;實(shí)現(xiàn)了類 CMainFrame tdoc. cpp # include # include # include 、實(shí)現(xiàn)了類 CTDoc tview. cpp # include # include # include # include、實(shí)現(xiàn)了類 CTview 2從表卜2中的包含關(guān)系一欄可以看出:CTApp的實(shí)現(xiàn)用到所有的用戶定義對(duì)象,包含 了他們的定義;CView的實(shí)現(xiàn)用到CTdoc;其他對(duì)象的實(shí)現(xiàn)只涉及自己的定義;構(gòu)成應(yīng)用程序的對(duì)象之間的關(guān)系圖1-2所示的類都是從CObject類派生出來(lái)的;所有處理消息的類都是從CCmdTarget 類派生的。如果是多文檔應(yīng)用程序,文檔模板使用CM

5、ultiDocTemplae,主框架窗口從 CMdiFarmeWnd派生,它包含工具條、狀態(tài)欄和文檔框架窗口。文檔框架窗口從 CMdiChildWnd派生,文檔框架窗口包含視,視從CView或其派生類派生。表 2T MFC Object 和 Windows Object 的對(duì)應(yīng)關(guān)系描述Windows柄HWND HDC句MFC Object窗口設(shè)備上下文 菜單 筆CWnd and CWnd-derived classes CDC and CDC-derived classes HMENU HPEN CMenu CGdiObject 類, CPen CPen-derived classes CGd

6、iObject 類,CBrush CBrush-derived classes CGdiObject 類,CFont 和 CFont-derived 3刷子HBRUSH字體HFONT classes 位圖 HBITMAP CGdiObject 類,CBitmap 和 CBitmap-derived classes CGdiObject 類,CPaletteCPalette-derived classes 和調(diào)色板 HPALETTE 區(qū)域 HRGN CGdiObject 類,CRgn CRgn-derived classes CimageListclasses 和 CimageList- der

7、ived 圖像列表 HimageLIST 套接字 SOCKET CSocket, CAsynSocket 及其派生類 表 2T 中的OBJECT分以下幾類:1. 2. 3. 4. 5. 6.Windows對(duì)象,設(shè)備上下文對(duì)象,GDI 對(duì)象(BITMAP, BRUSH, FONT, PALETTE, PEN, RGN), 菜單,圖像列表,網(wǎng)絡(luò)套接字接口MFC 窗口類 CWnd(1)窗口創(chuàng)建函數(shù):主要討論函數(shù)Create和CreateEx.它們封裝了 Win32窗口創(chuàng)建函 數(shù):CreateWindowEx。Create 的原型如下:BOOL CWnd:Create(LPCTSTR IpszClas

8、sName,LPCTSTR 1pszWindowName, DWORD dwStyle, const RECT& rect,CWnd* pParentWnd, UINT nID, CCreateContext* pContext)Create是一個(gè)虛擬函數(shù),用來(lái)創(chuàng)建子窗口(不能創(chuàng)建桌面窗口和POP UP窗口)。 CWnd的基類可以覆蓋該函數(shù),例如邊框窗口類等覆蓋了該函數(shù)以實(shí)現(xiàn)邊框窗口的創(chuàng)建,視 類則使用它來(lái)創(chuàng)建視窗口。Create調(diào)用了成員函數(shù)CreateExo CWnd: :CreateEx的原型如下:BOOLCWnd:CreateEx(DWORD dwExStyle, LPCTST

9、R IpszClassName,LPCTSTR IpszWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight,HWND hWndParent, HMENU nIDorHMenu, LPVOID IpParam)CreateEx有11個(gè)參數(shù),它將調(diào)用:CreateWindowEx完成窗口的創(chuàng)建,這11個(gè)參數(shù) 對(duì)應(yīng)地傳遞給:CreateWindowEx。參數(shù)指定了窗口擴(kuò)展風(fēng)格、“窗口類”、窗口名、窗口 大小和位置、父窗口句柄、窗口菜單和窗口創(chuàng)建參數(shù)。2)窗口銷毀函數(shù)例如:DestroyWindow函數(shù)銷毀窗口PostNcDestroy(),銷毀窗口后調(diào)用,虛擬函數(shù)3)用于設(shè)定、獲取、改變窗口屬性 的函數(shù),例如:SetWindowText(CString tiltle)設(shè)置窗口標(biāo)題 GetWindowText0 得到 窗口標(biāo)題Set Icon (EICON hlcon, BOOL bBiglcon);設(shè)置窗口像標(biāo) Get Icon ( BO

溫馨提示

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

評(píng)論

0/150

提交評(píng)論