MFC初級(jí)者的速成寶典

MFC初級(jí)者的速成寶典

ID:37515104

大?。?05.50 KB

頁數(shù):24頁

時(shí)間:2019-05-24

MFC初級(jí)者的速成寶典_第1頁
MFC初級(jí)者的速成寶典_第2頁
MFC初級(jí)者的速成寶典_第3頁
MFC初級(jí)者的速成寶典_第4頁
MFC初級(jí)者的速成寶典_第5頁
資源描述:

《MFC初級(jí)者的速成寶典》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

1、MFC編程(寫給MFC初級(jí)者的速成寶典)正文MFC編程1??微軟基礎(chǔ)類庫(kù)(MFC:MicrosoftFoundationClass)是微軟為Windows程序員提供的一個(gè)面向?qū)ο蟮腤indows編程接口,它大大簡(jiǎn)化了Windows編程工作。使用MFC類庫(kù)的好處是:首先,MFC提供了一個(gè)標(biāo)準(zhǔn)化的結(jié)構(gòu),這樣開發(fā)人員不必從頭設(shè)計(jì)創(chuàng)建和管理一個(gè)標(biāo)準(zhǔn)Windows應(yīng)用程序所需的程序,而是“站在巨人肩膀上”,從一個(gè)比較高的起點(diǎn)編程,故節(jié)省了大量的時(shí)間;其次,它提供了大量的代碼,指導(dǎo)用戶編程時(shí)實(shí)現(xiàn)某些技術(shù)和功能。??對(duì)用戶來說,用MFC開發(fā)的最終應(yīng)用程序具

2、有標(biāo)準(zhǔn)的、熟悉的Windows界面,這樣的應(yīng)用程序易學(xué)易用;另外,新的應(yīng)用程序還能立即支持所有標(biāo)準(zhǔn)Windows特性,而且是用普通的、明確定義的形式。事實(shí)上,也就是在Windows應(yīng)用程序界面基礎(chǔ)上定義了一種新的標(biāo)準(zhǔn)——MFC標(biāo)準(zhǔn)。??一、MFC類庫(kù)概念和組成??類庫(kù)是一個(gè)可以在應(yīng)用中使用的相互關(guān)聯(lián)的C++類的集合。Microsoft提供了一個(gè)基礎(chǔ)類庫(kù)MFC,其中包含用來開發(fā)C++和C++Windows應(yīng)用程序的一組類。基礎(chǔ)類庫(kù)的核心是以C++形式封裝了大部分的WindowsAPI。類庫(kù)表示窗口、對(duì)話框、設(shè)備上下文、公共GDI對(duì)象如畫筆、調(diào)色

3、板、控制框和其他標(biāo)準(zhǔn)的Windows部件。這些類提供了一個(gè)面向Windows中結(jié)構(gòu)的簡(jiǎn)單的C++成員函數(shù)的接口。??MFC可分為兩個(gè)主要部分:(1)基礎(chǔ)類(2)宏和全程函數(shù)。??1、MFC基礎(chǔ)類:MFC中的類按功能來分可劃分為以下幾類:??基類應(yīng)用程序框架類應(yīng)用程序類命令相關(guān)類文檔/視類??線程類可視對(duì)象類窗口類視類對(duì)話框類??屬性表控制類菜單類設(shè)備描述表繪畫對(duì)象類??通用類文件診斷異常收集??模板收集其他支持類??OLE2類OLE基類OLE可視編輯包裝程序類??OLE可視編輯服務(wù)器程序類OLE數(shù)據(jù)傳輸類OLE對(duì)話框類其他OLE類數(shù)據(jù)庫(kù)類??

4、2、宏和全局函數(shù):若某個(gè)函數(shù)或變量不是某個(gè)類的一個(gè)成員,那么它是一個(gè)全程函數(shù)或變量。Microsoft基本宏和全程函數(shù)提供以下功能:??數(shù)據(jù)類型運(yùn)行時(shí)刻對(duì)象類型服務(wù)診斷服務(wù)異常處理??CString格式化及信息框顯示消息映射應(yīng)用消息和管理對(duì)象連接和嵌入(OLE)服務(wù)??標(biāo)準(zhǔn)命令和WindowsIDs????3、約定:全程函數(shù)以“Afx”為前綴,所有全程變量都是以“afx”為前綴,宏不帶任何特別前綴,但是全部大寫。??常見的全局函數(shù)和宏有:AfxGetApp,AfxGetMainWnd,AfxMessageBox,DEBUG_NEW等,我們會(huì)在

5、后面的章節(jié)中用到并對(duì)它們進(jìn)行介紹。??從繼承關(guān)系來看,又可將MFC中的類分成兩大類:大多數(shù)的MFC類是從CObject繼承下來;另外一些類則不是從CObject類繼承下來,這些類包括:字符串類CString,日期時(shí)間類CTime,矩形類CRect,點(diǎn)CPoint等,它們提供程序輔助功能。??由于MFC中大部分類是從CObject繼承下來的,CObject類描述了幾乎所有的MFC中其他類的一些公共特性,因此我們有必要理解CObject類。??我們首先查看一下CObject類的定義,CObject類定義如下清單2.1所示:??清單2.1CObje

6、ct類的定義??//classCObjectistherootofallcompliant(順從的、適應(yīng)的)objects??classCObject??{??public:??//Objectmodel(types,destruction,allocation)??virtualCRuntimeClass*GetRuntimeClass()const;??virtual~CObject();//virtualdestructorsarenecessary??//Diagnostic(診斷的)allocations(配置)??void*PAS

7、CALoperatornew(size_tnSize);??void*PASCALoperatornew(size_t,void*p);??voidPASCALoperatordelete(void*p);??#ifdefined(_DEBUG)&&!defined(_AFX_NO_DEBUG_CRT)??//forfilename/linenumbertrackingusingDEBUG_NEW??void*PASCALoperatornew(size_tnSize,LPCSTRlpszFileName,intnLine);??#endif

8、??//Disablethecopyconstructorandassignmentbydefaultsoyouwillget??//compilererrorsi

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。