精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

C++新手之詳細(xì)介紹MFC

開(kāi)發(fā) 后端
我們都知道MFC是C++類庫(kù),本文詳細(xì)介紹C++的這個(gè)類庫(kù),適合初學(xué)者閱讀,希望對(duì)你有幫助,一起來(lái)看。

MFC (Microsoft Foundation Class Library)中的各種類結(jié)合起來(lái)構(gòu)成了一個(gè)應(yīng)用程序框架,它的目的就是讓程序員在此基礎(chǔ)上來(lái)建立Windows下的應(yīng)用程序,這是一種相對(duì)SDK來(lái)說(shuō)更為簡(jiǎn)單的方法。

因?yàn)榭傮w上,MFC框架定義了應(yīng)用程序的輪廓,并提供了用戶接口的標(biāo)準(zhǔn)實(shí)現(xiàn)方法,程序員所要做的就是通過(guò)預(yù)定義的接口把具體應(yīng)用程序特有的東西填入這個(gè)輪廓。

Microsoft Visual C++提供了相應(yīng)的工具來(lái)完成這個(gè)工作:AppWizard可以用來(lái)生成初步的框架文件(代碼和資源等);資源編輯器用于幫助直觀地設(shè)計(jì)用戶接口;ClassWizard用來(lái)協(xié)助添加代碼到框架文件;最后,編譯,則通過(guò)類庫(kù)實(shí)現(xiàn)了應(yīng)用程序特定的邏輯。

一. 封裝

構(gòu)成MFC框架的是MFC類庫(kù)。MFC類庫(kù)是C++類庫(kù)。這些類或者封裝了Win32應(yīng)用程序編程接口,或者封裝了應(yīng)用程序的概念,或者封裝了OLE特性,或者封裝了ODBC和DAO數(shù)據(jù)訪問(wèn)的功能,等等,分述如下。

(1)對(duì)Win32應(yīng)用程序編程接口的封裝

用一個(gè)C++ Object來(lái)包裝一個(gè)Windows Object。例如:class CWnd是一個(gè)C++ window object,它把Windows window(HWND)和Windows window有關(guān)的API函數(shù)封裝在C++ window object的成員函數(shù)內(nèi),后者的成員變量m_hWnd就是前者的窗口句柄。

(2)對(duì)應(yīng)用程序概念的封裝

使用SDK編寫(xiě)Windows應(yīng)用程序時(shí),總要定義窗口過(guò)程,登記Windows Class,創(chuàng)建窗口,等等。MFC把許多類似的處理封裝起來(lái),替程序員完成這些工作。另外,MFC提出了以文檔-視圖為中心的編程模式,MFC類庫(kù)封裝了對(duì)它的支持。文檔是用戶操作的數(shù)據(jù)對(duì)象,視圖是數(shù)據(jù)操作的窗口,用戶通過(guò)它處理、查看數(shù)據(jù)。

(3)對(duì)COM/OLE特性的封裝

OLE建立在COM模型之上,由于支持OLE的應(yīng)用程序必須實(shí)現(xiàn)一系列的接口(Interface),因而相當(dāng)繁瑣。MFC的OLE類封裝了OLE API大量的復(fù)雜工作,這些類提供了實(shí)現(xiàn)OLE的更高級(jí)接口。

(4)對(duì)ODBC功能的封裝

以少量的能提供與ODBC之間更高級(jí)接口的C++類,封裝了ODBC API的大量的復(fù)雜的工作,提供了一種數(shù)據(jù)庫(kù)編程模式。

二、 繼承

首先,MFC抽象出眾多類的共同特性,設(shè)計(jì)出一些基類作為實(shí)現(xiàn)其他類的基礎(chǔ)。這些類中,最重要的類是CObject和CCmdTarget。CObject 是MFC的根類,絕大多數(shù)MFC類是其派生的,包括CCmdTarget。CObject 實(shí)現(xiàn)了一些重要的特性,包括動(dòng)態(tài)類信息、動(dòng)態(tài)創(chuàng)建、對(duì)象序列化、對(duì)程序調(diào)試的支持,等等。所有從CObject派生的類都將具備或者可以具備 CObject所擁有的特性。CCmdTarget通過(guò)封裝一些屬性和方法,提供了消息處理的架構(gòu)。MFC中,任何可以處理消息的類都從 CCmdTarget派生。

針對(duì)每種不同的對(duì)象,MFC都設(shè)計(jì)了一組類對(duì)這些對(duì)象進(jìn)行封裝,每一組類都有一個(gè)基類,從基類派生出眾多更具體的類。這些對(duì)象包括以下種類:窗口對(duì)象,基類是CWnd;應(yīng)用程序?qū)ο螅愂荂winThread;文檔對(duì)象,基類是Cdocument,等等。

程序員將結(jié)合自己的實(shí)際,從適當(dāng)?shù)腗FC類中派生出自己的類,實(shí)現(xiàn)特定的功能,達(dá)到自己的編程目的。

三、 虛擬函數(shù)和動(dòng)態(tài)約束

MFC 以“C++”為基礎(chǔ),自然支持虛擬函數(shù)和動(dòng)態(tài)約束。但是作為一個(gè)編程框架,有一個(gè)問(wèn)題必須解決:如果僅僅通過(guò)虛擬函數(shù)來(lái)支持動(dòng)態(tài)約束,必然導(dǎo)致虛擬函數(shù)表過(guò)于臃腫,消耗內(nèi)存,效率低下。例如,CWnd封裝 Windows窗口對(duì)象時(shí),每一條Windows消息對(duì)應(yīng)一個(gè)成員函數(shù),這些成員函數(shù)為派生類所繼承。如果這些函數(shù)都設(shè)計(jì)成虛擬函數(shù),由于數(shù)量太多,實(shí)現(xiàn)起來(lái)不現(xiàn)實(shí)。于是,MFC建立了消息映射機(jī)制,以一種富有效率、便于使用的手段解決消息處理函數(shù)的動(dòng)態(tài)約束問(wèn)題。

這樣,通過(guò)虛擬函數(shù)和消息映射,MFC類提供了豐富的編程接口。程序員繼承基類的同時(shí),把自己實(shí)現(xiàn)的虛擬函數(shù)和消息處理函數(shù)嵌入MFC的編程框架。MFC編程框架將在適當(dāng)?shù)臅r(shí)候、適當(dāng)?shù)牡胤絹?lái)調(diào)用程序的代碼。本書(shū)將充分的展示MFC調(diào)用虛擬函數(shù)和消息處理函數(shù)的內(nèi)幕,讓讀者對(duì)MFC的編程接口有清晰的理解。

四、 MFC的宏觀框架體系

如前所述,MFC實(shí)現(xiàn)了對(duì)應(yīng)用程序概念的封裝,把類、類的繼承、動(dòng)態(tài)約束、類的關(guān)系和相互作用等封裝起來(lái)。這樣封裝的結(jié)果對(duì)程序員來(lái)說(shuō),是一套開(kāi)發(fā)模板(或者說(shuō)模式)。針對(duì)不同的應(yīng)用和目的,程序員采用不同的模板。例如,SDI應(yīng)用程序的模板,MDI應(yīng)用程序的模板,規(guī)則DLL應(yīng)用程序的模板,擴(kuò)展DLL應(yīng)用程序的模板,OLE/ACTIVEX應(yīng)用程序的模板,等等。

這些模板都采用了以文檔-視為中心的思想,每一個(gè)模板都包含一組特定的類。典型的MDI應(yīng)用程序的構(gòu)成將在下一節(jié)具體討論。

為了支持對(duì)應(yīng)用程序概念的封裝,MFC內(nèi)部必須作大量的工作。例如,為了實(shí)現(xiàn)消息映射機(jī)制,MFC編程框架必須要保證首先得到消息,然后按既定的方法進(jìn)行處理。又如,為了實(shí)現(xiàn)對(duì)DLL編程的支持和多線程編程的支持,MFC內(nèi)部使用了特別的處理方法,使用模塊狀態(tài)、線程狀態(tài)等來(lái)管理一些重要信息。雖然,這些內(nèi)部處理對(duì)程序員來(lái)說(shuō)是透明的,但是,懂得和理解MFC內(nèi)部機(jī)制有助于寫(xiě)出功能靈活而強(qiáng)大的程序。

總之,MFC封裝了Win32 API,OLE API,ODBC API等底層函數(shù)的功能,并提供更高一層的接口,簡(jiǎn)化了Windows編程。同時(shí),MFC支持對(duì)底層API的直接調(diào)用。

MFC提供了一個(gè)Windows應(yīng)用程序開(kāi)發(fā)模式,對(duì)程序的控制主要是由MFC框架完成的,而且MFC也完成了大部分的功能,預(yù)定義或?qū)崿F(xiàn)了許多事件和消息處理,等等。框架或者由其本身處理事件,不依賴程序員的代碼;或者調(diào)用程序員的代碼來(lái)處理應(yīng)用程序特定的事件。

MFC是C++類庫(kù),程序員就是通過(guò)使用、繼承和擴(kuò)展適當(dāng)?shù)念悂?lái)實(shí)現(xiàn)特定的目的。例如,繼承時(shí),應(yīng)用程序特定的事件由程序員的派生類來(lái)處理,不感興趣的由基類處理。實(shí)現(xiàn)這種功能的基礎(chǔ)是C++對(duì)繼承的支持,對(duì)虛擬函數(shù)的支持,以及MFC實(shí)現(xiàn)的消息映射機(jī)制。

希望通過(guò)以上對(duì)MFC的介紹,能給大家?guī)?lái)幫助。

責(zé)任編輯:于鐵 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-07-14 23:27:05

C++引用

2011-07-14 17:02:09

C++指針

2011-07-14 17:17:21

C++指針

2011-07-10 15:26:54

C++

2011-07-20 13:57:06

C++STL

2011-07-20 13:57:06

C++STL

2011-07-20 14:12:48

2010-01-19 13:17:05

C++數(shù)據(jù)類型

2011-06-21 15:00:07

JAVAC++

2011-07-20 15:58:53

C++引用

2010-01-11 09:56:07

C++編程實(shí)例

2011-07-13 16:49:59

C++

2011-07-15 10:08:11

C++運(yùn)算符重載

2011-07-14 16:56:21

2010-02-05 10:46:10

C++文件流

2010-01-12 15:46:29

測(cè)試C++ Test

2010-01-19 18:51:17

C++類

2011-07-20 16:43:34

C++

2011-06-21 10:37:56

const

2011-07-14 16:26:01

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

八戒八戒神马在线电影| 国产精久久久久久| 第四色日韩影片| 成人精品视频一区二区三区| 久久久久久久久久婷婷| 亚洲欧美高清在线| 亚洲欧洲美洲av| 久久精品免费在线观看| 国产精品亚洲аv天堂网| 国产又粗又猛又爽又黄的视频小说| 日韩精品一级毛片在线播放| **性色生活片久久毛片| 俄罗斯精品一区二区| 国产大片aaa| 国产精品欧美日韩一区| 欧美色图第一页| 精品国产三级a∨在线| 高潮毛片7777777毛片| 国产精品一区毛片| 中文字幕欧美亚洲| 国产人妻精品午夜福利免费| 调教一区二区| 久久新电视剧免费观看| 国产欧美亚洲精品| jizz国产免费| 99热在线成人| 欧美mv日韩mv国产网站app| 欧美国产亚洲一区| 精品欧美色视频网站在线观看| 风流少妇一区二区| 国产精品久久久久久久久久免费| 午夜免费激情视频| 欧美人与动xxxxz0oz| 欧美精品一卡两卡| 九九九九免费视频| 精品国产99久久久久久| 久久久久久久网| 国产98在线|日韩| 中文字幕在线观看视频一区| 欧美午夜一区| 国产一区二区三区在线看| 亚洲成人激情小说| 成人久久网站| 精品女厕一区二区三区| 一区二区三区不卡在线| 色吊丝在线永久观看最新版本| 九色porny丨国产精品| 7m第一福利500精品视频| 一起操在线播放| 日韩美脚连裤袜丝袜在线| 3d动漫精品啪啪一区二区竹菊| 国产a视频免费观看| 黄色污污视频在线观看| 国产日韩欧美在线一区| 国产在线一区二区三区欧美| 国产熟女精品视频| 久久精品国产99国产| 欧美激情网友自拍| 日韩av手机在线免费观看| 免费av一区| 日韩大陆欧美高清视频区| 亚洲丝袜在线观看| 韩国三级成人在线| 欧美艳星brazzers| www.国产区| 亚洲一级少妇| 欧美日韩国产在线播放| 久久国产精品视频在线观看| 欧美hdxxxx| 亚洲精品videosex极品| 中文字幕久久综合| 国产在线激情视频| 亚洲视频图片小说| 少妇熟女一区二区| 免费**毛片在线| 亚洲婷婷国产精品电影人久久| 亚洲国产日韩综合一区| 国产女主播在线写真| 久久久一区二区三区| 欧美男人的天堂| 久久久久久青草| 久久久久久久国产精品影院| 日本精品免费| √天堂资源地址在线官网| 中文一区在线播放| 亚洲欧美国产不卡| 黄色在线免费看| 亚洲欧美国产77777| 一区二区三区视频| 精品国产99久久久久久| 亚洲伊人伊色伊影伊综合网| 日韩精品视频在线观看视频| 蜜桃视频www网站在线观看| 欧美性xxxxx| 精品久久久噜噜噜噜久久图片 | 国产成人在线观看网站| 亚洲经典三级| 国产99久久久欧美黑人| 亚洲无码精品在线观看| 国产一区二区三区美女| 国产高清在线一区二区| 蜜桃视频在线观看www| 91美女蜜桃在线| 色综合视频二区偷拍在线| 亚洲欧美视频一区二区| 亚洲免费在线看| 日日摸日日碰夜夜爽无码| 免费成人美女女| 91精品国产免费| 91av免费观看| 日韩在线麻豆| 日韩亚洲综合在线| 国产在线拍揄自揄拍无码视频| 国产精品日韩久久久| 国产精品福利在线观看网址| 国产精品美女一区| 91丨porny丨蝌蚪视频| 亚洲不卡一卡2卡三卡4卡5卡精品| 中文字幕日本在线观看| 亚洲一二三区不卡| 日本xxxxxxx免费视频| 日韩大片欧美大片| 日韩写真欧美这视频| 无码国产69精品久久久久同性| 欧美美乳视频| 久久久久久久久久久91| 在线观看亚洲一区二区| 播五月开心婷婷综合| 中文字幕中文字幕在线中一区高清| 美足av综合网| 欧美日本韩国一区二区三区视频| 国产高清自拍视频| 中文字幕免费一区二区| 98精品在线视频| 国产绳艺sm调教室论坛| 久久久91精品国产一区二区精品 | 一区二区三区在线视频免费| 99视频免费播放| 欧美一级三级| 欧美xxxx18性欧美| 亚洲天堂自拍偷拍| 久久久久久久电影| 无码熟妇人妻av在线电影| 日本在线一区二区| 亚洲欧美精品伊人久久| 日韩精品一区二区三| 国产精品亚洲视频| 国产高清精品软男同| 国产资源在线观看入口av| 欧美在线|欧美| 女人被狂躁c到高潮| 亚洲视频高清| 亚洲资源在线看| 日本不卡三区| 欧美在线免费播放| 日本高清www| 国产精品久久久久9999高清| 国产精品二区在线| 顶级网黄在线播放| 在线不卡a资源高清| 人妻熟人中文字幕一区二区| 狂野欧美一区| 欧美黄色直播| f2c人成在线观看免费视频| 欧美一级二级在线观看| 成人免费视频国产免费观看| 麻豆视频观看网址久久| 色噜噜狠狠一区二区三区| 日本高清不卡一区二区三区视频| 国产视频丨精品|在线观看| 青娱乐免费在线视频| 国产一区二区影院| 最新国产精品久久| 97久久中文字幕| 久久资源免费视频| 999国产精品视频免费| 亚洲天堂免费在线观看视频| 一级黄色在线播放| 婷婷久久一区| 97人人模人人爽视频一区二区| 欧洲精品二区| 日韩av网站大全| 国产 欧美 日韩 在线| 94色蜜桃网一区二区三区| 黄色一级大片免费| 丁香综合av| 26uuu另类亚洲欧美日本一| 神马午夜精品95| 一本一道久久a久久精品综合蜜臀| wwwwxxxx国产| 9国产精品视频| 日本一区二区三区免费看| 国语自产精品视频在线看抢先版结局| 中文欧美在线视频| 国产成人毛毛毛片| 午夜精品一区在线观看| 最新中文字幕视频| 玖玖精品视频| 热这里只有精品| 激情视频极品美女日韩| 98视频在线噜噜噜国产| av中文字幕在线| 欧美成人综合网站| 少妇久久久久久久| 亚洲免费观看高清完整版在线| 风韵丰满熟妇啪啪区老熟熟女| 国产亚洲精品v| 国产伦理一区二区三区| 国产成人精品123区免费视频| 久久精品视频在线| 亚洲欧洲综合在线| 欧美人妇做爰xxxⅹ性高电影 | 国产三级中文字幕| 国产91精品入| 国产精品99久久久久久人| 先锋影音在线资源站91| 亚洲国产精品久久91精品| 亚洲熟妇无码乱子av电影| 成人欧美一区二区三区小说| 国产一级二级在线观看| 精一区二区三区| 成人黄色大片网站| 久久综合99| 久久99欧美| 日韩影片在线观看| 国产精品久久久久77777| 26uuu亚洲电影在线观看| 日韩电影中文字幕一区| 国产精品亚洲欧美在线播放| 欧美日韩在线免费观看| 国产少妇在线观看| 北条麻妃国产九九精品视频| the porn av| 国产精品美女久久久| 91免费网站视频| 国产最新精品| 国外成人在线视频网站| 成人自拍视频| 国产精品美女www爽爽爽视频| 麻豆视频免费在线观看| 日韩黄色av网站| 黄色一级大片在线免费看国产一| 欧美日产国产精品| 成人黄色激情视频| 欧美性猛交xxxxx水多| 国产精品第9页| 一区二区三区在线免费视频| 性色国产成人久久久精品| 久久网这里都是精品| 亚洲精品第二页| 久久精品国产一区二区三区免费看 | 青青草精品毛片| 免费在线观看av电影| 久久久精品亚洲| 麻豆网站在线| 欧美成人免费va影院高清| 幼a在线观看| 国产亚洲精品激情久久| 黄色av免费在线观看| 亚洲精品一区二区三区不| 国产中文字幕在线看| 亚洲精品资源美女情侣酒店| 天堂√在线中文官网在线| 亚洲精品白浆高清久久久久久| 欧美视频在线观看一区二区三区| 日韩亚洲欧美一区二区三区| 国产精品天天操| 欧美一区二区在线看| 国产高清免费观看| 精品国产亚洲在线| 天堂在线视频观看| 日韩美一区二区三区| 欧美一级特黄aaaaaa| 亚洲高清福利视频| yw在线观看| www.日本久久久久com.| 成人video亚洲精品| 久久91超碰青草是什么| 污网站在线免费看| 国内外成人免费激情在线视频| 嗯~啊~轻一点视频日本在线观看| 国外成人在线视频| 自由日本语热亚洲人| 国产精品视频播放| 精品精品视频| 国产一区高清视频| 国产精品一区二区99| 一区二区不卡在线视频 午夜欧美不卡'| 国产精品99久久精品| 日韩视频 中文字幕| 亚洲人妖在线| 一级特黄性色生活片| 国产一区二区在线影院| 波多野结衣视频播放| 久久九九影视网| 我要看黄色一级片| 欧美日韩中文字幕在线视频| 国产在线一级片| 欧美一级黄色大片| 三级视频网站在线| 欧美日韩xxxxx| japanese23hdxxxx日韩 | 热三久草你在线| 国产精品日韩在线播放| 99国产精品免费网站| 亚洲蜜桃在线| 亚洲手机视频| 国产一线二线三线在线观看| 国产伦精品一区二区三区在线观看| 噜噜噜在线视频| 日韩一区日韩二区| 国产美女激情视频| 欧美一区二区视频在线观看2022| 国产91免费看| 大胆欧美人体视频| 成人av三级| 91精品网站| 女厕嘘嘘一区二区在线播放 | 97视频在线观看视频免费视频| 一区二区视频免费完整版观看| 国产精品视频免费观看| 日韩毛片视频| 日本www在线视频| 国产一区在线看| 91狠狠综合久久久久久| 亚洲成人av一区二区三区| 中文字幕 欧美激情| 亚洲激情在线观看视频免费| 看电影就来5566av视频在线播放| 午夜精品一区二区三区在线播放| 日本亚洲欧洲无免费码在线| 欧美日韩精品中文字幕一区二区| 一区二区三区毛片免费| 男人的天堂最新网址| 久久综合九色综合久久久精品综合| 国产少妇在线观看| 在线视频亚洲一区| 欧美日韩视频精品二区| 久久久久久久久久久国产| 91丨精品丨国产| 精品国产乱码久久久久久88av| 亚洲视频一二| 午夜诱惑痒痒网| 国产精品久久久久久久久快鸭 | 免费精品99久久国产综合精品应用| 国产日韩三级在线| 免费看一级视频| 精品一区二区三区电影| 亚洲十八**毛片| 精品无人区一区二区三区竹菊| 国模一区二区三区| 可以看的av网址| 亚洲亚洲人成综合网络| 亚洲精品18p| 欧美精品手机在线| 高清一区二区| 日韩 欧美 视频| 成人丝袜视频网| 国产无套在线观看| 欧美日韩五月天| h视频在线免费观看| 国产在线观看不卡| 99精品电影| 亚洲一二区在线观看| 1区2区3区国产精品| 国产又黄又粗又硬| 不卡中文字幕av| aaa国产精品视频| 欧美视频在线观看视频| 高清不卡在线观看| 日韩精品无码一区二区| 亚洲人成自拍网站| 色猫猫成人app| 一区二区三区四区国产| 国产精品自拍毛片| 久艹视频在线观看| 亚洲大尺度美女在线| freexxx性亚洲精品| 视频一区三区| 九九九久久久精品| 麻豆视频在线观看| 精品国一区二区三区| 欧洲亚洲两性| 台湾成人av| 国产精品一区二区你懂的| 亚洲影院在线播放| 这里只有精品丝袜| 精品国产一区二| h无码动漫在线观看| 久久久久国产精品麻豆ai换脸| 亚洲手机在线观看| 欧美精品日韩www.p站| 色综合中文网| 天天摸天天舔天天操| 亚洲一区二区三区免费视频| 男女污视频在线观看| 国产日韩在线亚洲字幕中文| 999亚洲国产精| jizz中文字幕| 日韩一级免费一区|