第5講 MFC 編程基礎(chǔ)1_第1頁
第5講 MFC 編程基礎(chǔ)1_第2頁
免費預(yù)覽已結(jié)束,剩余4頁可下載查看

下載本文檔

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

文檔簡介

1、第5講 mfc 編程基礎(chǔ)1 c+ mfc 第7章 mfc編程基礎(chǔ) 1、mfc概述 2、mfc層次結(jié)構(gòu)及其子類功能3、mfc應(yīng)用程序架構(gòu) 4、基于框架的mfc應(yīng)用程序分析 c+ mfc 7.1 mfc概述mfc:microsoft foundation class首先:它是一個類庫、功能是掌握整個計算 機(jī)系統(tǒng)。 其次:它是一個面對對象的應(yīng)用程序框架, 程序員可以使用這一框架創(chuàng)建 windows應(yīng)用程序。 同時:mfc的組織是以c+類層次形式組織 起來的,幾個高層類供應(yīng)一般功能, 而低層類實現(xiàn)更詳細(xì)的功能,每一個低 層類都是從高層類派生而來,因此繼承 了高層類的功能。 c+ mfc 所以:mfc是

2、一種類的層次結(jié)構(gòu), 它供應(yīng)了一個應(yīng)用程序開發(fā)框架, 此框架稱為文檔/視圖架構(gòu)。 它對應(yīng)的是windows系統(tǒng)名目下 的一系列mfc*.dll文件。 c+ mfc mfc的實質(zhì) mfc就是利用面對對象的思想,將數(shù) 據(jù)類型與windows大部分api函數(shù)封 裝起來的一個浩瀚的類庫,利用mfc 編寫程序本質(zhì)上就是選擇該類庫中 合適的類,并調(diào)用其下相應(yīng)成員函 數(shù)來完成某個功能。 c+ mfc win32數(shù)據(jù)類型uint byte handle hwnd worddword long wparam lparam lresult lpstr lpcstr hdchmenu hicon msg wndcla

3、ss rect point size c+ mfc win32api接口函數(shù)1、windows消息函數(shù) 2、文件處理函數(shù) 3、網(wǎng)絡(luò)函數(shù) 4、菜單函數(shù) 5、文本與字體函數(shù) 6、硬件與系統(tǒng)函數(shù) 7、控件和消息函數(shù) 8、位圖、圖標(biāo)和光柵運算函數(shù) 9、繪圖函數(shù) 10、打印函數(shù) 11、設(shè)備場景函數(shù) 12、進(jìn)程和線程函數(shù) c+ mfc 程序員如何去學(xué)習(xí)mfc 1、c+語言基礎(chǔ) 2、windows操作系統(tǒng)基礎(chǔ) 3、面對對象程序觀念的基礎(chǔ) 抽象、封裝、繼承、多態(tài) c+ mfc 站在os角度上看程序1、執(zhí)行程序的過程是os完成任務(wù)的過程 2、程序執(zhí)行一次是創(chuàng)建了一個進(jìn)程,申請了 一個獨立的內(nèi)存空間。 3、程序和

4、os是通過大事驅(qū)動、消息機(jī)制通信 的 4、一個程序必有一個winmain函數(shù) 5、一個程序必有一個窗口,進(jìn)行輸入輸出 6、一個程序的啟動過程,就是一個winmain函 數(shù)的加載過程 7、一個程序至少由兩部分組成: winmain、wndproc c+ mfc 面對對象觀點看待windows編程1、具有應(yīng)用程序?qū)ο?,功能包括?注冊窗口(填充窗口結(jié)構(gòu),注冊窗口), 初始化程序?qū)嵗?創(chuàng)建、顯示、刷新)。 2、具有窗口對象,功能相當(dāng)于wndpro 函數(shù) 3、保留winmain函數(shù),實現(xiàn)消息循環(huán)。 4、最好實現(xiàn)數(shù)據(jù)與顯示分別。 c+ mfc 用面對對象觀點重組api1、api是win32編程的重要基礎(chǔ)

5、2、關(guān)于應(yīng)用程序?qū)ο?3、關(guān)于框架窗口對象 4、關(guān)于視圖對象 5、關(guān)于文檔對象 (數(shù)據(jù)與顯示分別) 6、關(guān)于其它對象的api *重點是類和對象的概念關(guān)系* c+ mfc 7.2 mfc層次結(jié)構(gòu) c+ mfc mfc中類的層次結(jié)構(gòu)mfc是一個包含了超過200個不同類的很 浩大的類庫。利用他們,開發(fā)者可以 完成很多標(biāo)準(zhǔn)的windows編程任務(wù), 并且可以在應(yīng)用程序中加入許 多簡單 的特性。在設(shè)計思想上,mfc將面對 對象的方法與大事驅(qū)動結(jié)合得很好, 因此要理解浩大的mfc類庫中的常用 類的功能,要利用面對對象的思想進(jìn) 行理解和分析。 c+ mfc mfc的優(yōu)點 1、mfc對于類、類的繼承、封裝、

6、多態(tài)性、類間關(guān)系和相互作用等 應(yīng)用程序特性都有詳細(xì)體現(xiàn),可 以使開發(fā)者高效、輕松地建立 windows應(yīng)用程序,而不受設(shè)備 限制并且由大事進(jìn)行驅(qū)動。 c+ mfc 2、mfc具有良好的通用性和可 移植性,它定義了應(yīng)用程序的 輪廓,并供應(yīng)了用戶接口的標(biāo) 準(zhǔn)實現(xiàn)方法,程序員所要做的 工作就是通過vc所供應(yīng)的各種 工具來完成這個工作。 c+ mfc 1、根類cobjectcobject類是mfc的抽象基類(不能派 生對象),是mfc中多數(shù)類和用戶自 定義類的根類,它為程序員供應(yīng)了 很多公共操作和基本服務(wù)。 主要包括:對象的動態(tài)建立與刪除、 序列化(即串行化)的支持、對象 診斷輸出、運行時信息管理以及

7、集 合類的兼容等。 作用是,使得mfc以及基于mfc的應(yīng)用 程序更加穩(wěn)固和易于調(diào)試。 c+ mfc 根類cobject的組成 c+ mfc 2、消息映射類ccmdtarget該類是cobject的子類,是mfc類庫中所 有具有消息映射屬性的基類,消息映射規(guī) 定了當(dāng)對象接到命令消息時,應(yīng)調(diào)用哪一 個函數(shù)對該消息進(jìn)行處理。 由ccmdtarget派生出的主框架類包括 cview、cwinapp、cdocument、cwnd和 cframewnd都可處理命令消息。 程序員若需要一個新類來處理消息時, 可以從ccmdtarget派生出一個新類。一般 程序員很少從ccmdtarget類中直接派生出 新類

8、,而是從其子類cview、cwinapp來派 生 c+ mfc 消息映射類ccmdtarget組成 c+ mfc 3、窗口應(yīng)用程序類cwinapp每一個使用mfc的應(yīng)用程序只能包 含一個從cwinapp派生的應(yīng)用程序 對象,當(dāng)vc的其它全局對象被構(gòu)造 時,這個對象也同時被構(gòu)造,當(dāng) windows調(diào)用winmain()函數(shù)時,產(chǎn) 生的對象已經(jīng)有效了。從cwinapp 實例化的應(yīng)用程序?qū)ο笫且粋€全局 變量,在程序運行中該對象可以與 其它對象相互協(xié)調(diào)。 c+ mfc 4、應(yīng)用程序類cwinapp組成(1)訪問cwinapp對象以及全局函數(shù)。 afxgetapp:獲得一指向cwinapp對象 的指針 afxgetresourcehabdle: 獲得一應(yīng)用程 序資源的句柄。 afxgetappname:獲得指向一個包含應(yīng) 用程序名的字符串的指針。 (2)cwinapp的公共數(shù)據(jù)成員 m_pszappname:指定應(yīng)用程序的名稱。 m_ncmdshow:指定窗口的顯示方式。 m_pmainwnd:包含一個指針,它指向 一個應(yīng)用程序的主窗口。 c+ mfc (3)cwinapp的公共成員函數(shù) loadcursor:調(diào)取光標(biāo)資源。 loadstandardcursor:調(diào)取windows 預(yù)定義光標(biāo),

溫馨提示

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

最新文檔

評論

0/150

提交評論