亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? chap2_4.htm

?? 很不錯的一本關于VC的書
?? HTM
?? 第 1 頁 / 共 3 頁
字號:
<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><meta name="GENERATOR" content="Microsoft FrontPage 3.0"><title>MFC編程</title></head><body link="#3973DE" alink="#000000" background="../bg.gif"><font SIZE="5"><b><div align="center"><center><table border="0" width="85%" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF">  <tr>    </b><td><div align="center"><center><table border="0" width="615" cellpadding="0"    cellspacing="0" height="13">     </table>    </center></div><font FACE="Times New Roman" SIZE="3"><p align="center"></font><font    color="#3973DE"><font FACE="Times New Roman" size="4">2.4 MFC</font><font size="4">編程</font></font><font    FACE="Times New Roman" size="4"></p>    <p ALIGN="JUSTIFY"></font><span style="font-size: 9pt">微軟基礎類庫(MFC:Microsoft     Foundation Class)是微軟為Windows程序員提供的一個面向對象的Windows編程接口,它大大簡化了Windows編程工作。使用MFC類庫的好處是:首先,MFC提供了一個標準化的結構,這樣開發人員不必從頭設計創建和管理一個標準Windows應用程序所需的程序,而是“站在巨人肩膀上”,從一個比較高的起點編程,故節省了大量的時間;其次,它提供了大量的代碼,指導用戶編程時實現某些技術和功能。MFC庫充分利用了Microsoft開發人員多年開發Windows程序的經驗,并可以將這些經驗融入到你自己開發的應用程序中去。</span></p>    <p><span style="font-size: 9pt">對用戶來說,用MFC開發的最終應用程序具有標準的、熟悉的Windows界面,這樣的應用程序易學易用;另外,新的應用程序還能立即支持所有標準Windows特性,而且是用普通的、明確定義的形式。事實上,也就是在Windows應用程序界面基礎上定義了一種新的標準——MFC標準。</span></p>    <p><span style="font-size: 9pt">為了更好的理解MFC,我們有必要了解一下MFC的歷史。</span><b></p>    <p></b><span style="font-size: 9pt">2.4.1 MFC歷史</span></p>    <p><span style="font-size: 9pt">開始,Microsoft建立了一個AFX小組,AFX代表Application     Framework,即應用程序框架。據說創建該小組原意是為了發布一個Borland     C++的OWL的競爭性產品,因為那時侯Borland 公司的應用程序框架OWL(object     Windows Language)已經做的相當成功。AFX小組象OWL那樣,提出了一個高度抽象Windows     API的一個類庫。</span></p>    <p><span style="font-size: 9pt">他們采用自頂向下的設計方法,逐步將對象抽象出來,并施加到Windows上。然后,他們試著花了幾個月時間用這個類庫來編寫應用程序,結果發現這個類庫偏離Windows     API實在太遠,過分抽象并沒有太大的實用性,相反大大降低了應用程序的效率。</span></p>    <p><span style="font-size: 9pt">于是,他們干脆放棄了整個AFX類庫,對類庫進行重新設計。這次,他們采用了自底向上的方法,從已有的Windows     API著手,將類建立在Windows API對象基礎上,設計出后來成為MFC1.0的一個類庫。但是,你現在仍然可以看到AFX時期的痕跡,許多源程序文件有afx前綴,如afxabort.cpp,afxmem.cpp。MFC延用了許多AFX類庫的宏,因此我們經常會看到以AFX開頭的宏。</span></p>    <p><span style="font-size: 9pt">AFX小組實際上做了兩件工作:MFC類庫和對MFC的IDE支持(即資源編譯器和操作向導)。在1994年4月份之后,AFX的名字停止使用,該小組成員成為Visual     C++開發組的一部分,即現在的MFC小組。</span></p>    <p><span style="font-size: 9pt">MFC1.0版于1992年同Microsoft C/C++7.0同時發布。它提供了對Windows     API簡單的抽象和封裝,還沒有我們現在常用的文檔/視結構特性。但它引入了CObject,通過CArchive的持續化和其他一些MFC中仍然使用的特性,從而奠定了MFC的基礎。</span></p>    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">MFC2.0在MFC1.0基礎上增加了文檔/視結構框架、OLE1.0類、消息映射和公用對話框類,廢棄了1.0版中的CModalDialog類并將它的功能移入到CDialog中,并增加了工具條、對話條、分割視窗的支持。MFC2.1隨同Visual     C++ 1.1 for NT發布,它把MFC2.0移植到了Win32上。MFC2.5隨同Visual C++1.5一起發布,它引入了OLE     2.0和ODBC類。它是最后的官方的16位發行版,于93年12月發布。目前,在開發16位Windows程序時,Visual     C++1.5和MFC 2.5仍然有大量的用戶。隨后的MFC2.51、2.52糾正了MFC.25中的一些錯誤,增加了標簽式對話框、WinSock和MAPI(Microsoft     電子郵件應用程序接口)支持。MFC3.1同Visual C++2.1一起于1995年1月份發布,它引入了Windows95公共控件(包括動畫、熱鍵、圖象列表、工具條提示等等)。MFC4.0于1995年12月份同Visual     C++4.0一起發布。Microsoft直接從Visual C++2.0一下子跳過一個版本號,升級到了4.0,以保持MFC版本號和Visual     C++版本號的一致性,但這種一致性又在Visual C++5.0中打破了。在MFC4.0中增加了CSynchronize,CMutex,CEvent,CMultiLock,CShellNew以更好的支持多線程以及Windows     95的其他一些特性。Visual C++還引入了Component Gallery(組件畫廊)、STL支持和大量的新特性。MFC4.1最重要的特性是支持Win32s。許多MFC開發者一直都在使用該版本。MFC4.1修正了4.0的一些錯誤并增加了Internet特性。MFC4.2增加了ISAPI和OCX容器支持。</span></p>    <p><span style="font-size: 9pt">MFC4.21于1997年3月19日同Visual C++5.0一起發布,它是目前最新和最完善的MFC版本。它只增加了對微軟的IntelliMouse(智能鼠標器)的支持。現在MFC版本號又不與Visual     C++匹配了。</span></p>    <p><span style="font-size: 9pt">MFC發行版列表如下:</span><b></p>    <p><span style="font-size: 9pt">MFC Release MSVC Release 16位或32位 備注 </span></b></p>    <p><span style="font-size: 9pt">1.0 16 簡單的 封裝Windows</span></p>    <p><span style="font-size: 9pt">2.0 1.0 16 增加了文檔/視結構</span></p>    <p><span style="font-size: 9pt">2.1 1.1 for NT 32 第一個NT的發行版 </span></p>    <p><span style="font-size: 9pt">2.5 1.5 16 OLE/ODBC,最后一個</span></p>    <p><span style="font-size: 9pt">16位版本</span></p>    <p><span style="font-size: 9pt">2.51 2.0 16 修正錯誤 </span></p>    <p><span style="font-size: 9pt">2.52 2.1 16 增加標簽式對話框</span></p>    <p><span style="font-size: 9pt">2.52b 2.2 16</span></p>    <p><span style="font-size: 9pt">2.5c 4.0 16</span></p>    <p><span style="font-size: 9pt">3.0 2.0 32 標簽式對話框、可停泊工具條</span></p>    <p><span style="font-size: 9pt">3.1 2.1 32 Winsock/MAPI, Windows公共控 制 </span></p>    <p><span style="font-size: 9pt">3.2 2.2 32</span></p>    <p><span style="font-size: 9pt">4.0 4.0 32 Win 95, 線程類, OCX 容器 </span></p>    <p><span style="font-size: 9pt">4.1 4.1 32 sweeper (WinInet) classes</span></p>    <p><span style="font-size: 9pt">**以上是最后支持Win32s的版本</span></p>    <p><span style="font-size: 9pt">4.2 4.2 32 修正錯誤, ISAPI classes</span></p>    <p> </p>    <p> </p>    <p><span style="font-size: 9pt">4.2b internet dl 32 修正錯誤</span></p>    <p><span style="font-size: 9pt">4.21 5.0 32 IntelliMouse&amp;trade; support.</span></p>    <p> </p>    <b><p></b><span style="font-size: 9pt"><font color="#3973DE">2.4.2 MFC類庫概念和組成</font></span></p>    <p><span style="font-size: 9pt">類庫是一個可以在應用中使用的相互關聯的C++類的集合。類庫有些隨編譯器提供,如Borland     C++ Turbo Vision等;有的是由其他軟件公司銷售,如用于數據庫開發的CodeBase;有的則是由用戶自己開發的。比如圖象處理類庫完成圖象顯示、格式轉換、量化等;串行通信類庫用于支持串行口輸入輸出。有些情況下用戶可以直接利用類庫中包含的類定義應用程序所需的變量,有時則需要從類庫所提供的類中派生出新的類,這依賴于類庫的設計和具體的應用程序。</span></p>    <p><span style="font-size: 9pt">Microsoft提供了一個基礎類庫MFC,其中包含用來開發C++和C++     Windows應用程序的一組類。基礎類庫的核心是以C++形式封裝了大部分的Windows     API。類庫表示窗口、對話框、設備上下文、公共GDI對象如畫筆、調色板、控制框和其他標準的Windows部件。這些類提供了一個面向Windows中結構的簡單的C++成員函數的接口。</span></p>    <p><span style="font-size: 9pt">MFC可分為兩個主要部分:(1)基礎類(2)宏和全程函數。</span></p>    <p> </p>    <p><b> </p>    <p><span style="font-size: 9pt">MFC基礎類</span></b></p>    <p><span style="font-size: 9pt">MFC中的類按功能來分可劃分為以下幾類:</span></p>    <blockquote>      <p><span style="font-size: 9pt">基類</span></p>      <p><span style="font-size: 9pt">應用程序框架類</span></p>      <p><span style="font-size: 9pt">應用程序類</span></p>      <p><span style="font-size: 9pt">命令相關類</span></p>      <p><span style="font-size: 9pt">文檔/視類</span></p>      <p><span style="font-size: 9pt">線程類</span></p>      <p><span style="font-size: 9pt">可視對象類</span></p>      <p><span style="font-size: 9pt">窗口類</span></p>      <p><span style="font-size: 9pt">視類</span></p>      <p><span style="font-size: 9pt">對話框類</span></p>      <p><span style="font-size: 9pt">屬性表 </span></p>      <p><span style="font-size: 9pt">控制類</span></p>      <p><span style="font-size: 9pt">菜單類</span></p>      <p><span style="font-size: 9pt">設備描述表</span></p>      <p><span style="font-size: 9pt">繪畫對象類</span></p>      <p><span style="font-size: 9pt">通用類</span></p>      <p><span style="font-size: 9pt">文件</span></p>      <p><span style="font-size: 9pt">診斷</span></p>      <p><span style="font-size: 9pt">異常</span></p>      <p><span style="font-size: 9pt">收集</span></p>      <p><span style="font-size: 9pt">模板收集</span></p>      <p><span style="font-size: 9pt">其他支持類</span></p>      <p><span style="font-size: 9pt">OLE2類</span></p>      <p><span style="font-size: 9pt">OLE基類</span></p>      <p><span style="font-size: 9pt">OLE可視編輯包裝程序類</span></p>      <p><span style="font-size: 9pt">OLE 可視編輯服務器程序類</span></p>      <p><span style="font-size: 9pt">OLE數據傳輸類</span></p>      <p><span style="font-size: 9pt">OLE對話框類</span></p>      <p><span style="font-size: 9pt">其他OLE類</span></p>      <p><span style="font-size: 9pt">數據庫類</span></p>      <b>    </blockquote>    <p> </p>    <p><span style="font-size: 9pt">宏和全局函數</span></b></p>    <p><span style="font-size: 9pt">若某個函數或變量不是某個類的一個成員,那么它是一個全程函數或變量。</span></p>    <p><span style="font-size: 9pt">Microsoft基本宏和全程函數提供以下功能:</span></p>    <blockquote>      <blockquote>        <p><span style="font-size: 9pt">數據類型</span></p>        <p><span style="font-size: 9pt">運行時刻對象類型服務</span></p>        <p><span style="font-size: 9pt">診斷服務</span></p>        <p><span style="font-size: 9pt">異常處理</span></p>        <p><span style="font-size: 9pt">CString格式化及信息框顯示</span></p>        <p><span style="font-size: 9pt">消息映射</span></p>        <p><span style="font-size: 9pt">應用消息和管理</span></p>        <p><span style="font-size: 9pt">對象連接和嵌入(OLE)服務</span></p>        <p><span style="font-size: 9pt">標準命令和Windows IDs</span></p>      </blockquote>    </blockquote>    <p><b> </p>    <p><span style="font-size: 9pt">約定</b>:全程函數以“Afx”為前綴,所有全程變量都是以“afx”為前綴,宏不帶任何特別前綴,但是全部大寫。</span></p>    <p ALIGN="JUSTIFY"><span style="font-size: 9pt">常見的全局函數和宏有:AfxGetApp,AfxGetMainWnd,AfxMessageBox,DEBUG_NEW等,我們會在后面的章節中用到并對它們進行介紹。</span></p>    <p><span style="font-size: 9pt">從繼承關系來看,又可將MFC中的類分成兩大類:大多數的MFC類是從CObject繼承下來;另外一些類則不是從CObject類繼承下來,這些類包括:字符串類CString,日期時間類CTime,矩形類CRect,點CPoint等,它們提供程序輔助功能。</span></p>    <p><span style="font-size: 9pt">由于MFC中大部分類是從CObject繼承下來的,CObject類描述了幾乎所有的MFC中其他類的一些公共特性,因此我們有必要理解CObject類。     </span></p>    <p><span style="font-size: 9pt">我們首先查看一下CObject類的定義,CObject類定義如下清單2.1所示:</span></p>    <p><b> </p>    <p><span style="font-size: 9pt">清單2.1CObject類的定義</span></b></p>    <p><span style="font-size: 9pt">// class CObject is the root of all compliant objects</span></p>    <p><span style="font-size: 9pt">class CObject</span></p>    <p><span style="font-size: 9pt">{</span></p>    <p><span style="font-size: 9pt">public:</span></p>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷综合久久久久中文一区二区| 日本中文字幕一区二区视频 | 精品午夜一区二区三区在线观看| 久88久久88久久久| 日韩一区二区麻豆国产| 91在线观看下载| 毛片基地黄久久久久久天堂| 亚洲欧美日韩国产另类专区| 久久中文字幕电影| 欧美精品一卡两卡| 欧美亚洲高清一区| 99久久久久久| 国产精品一区二区不卡| 日本不卡视频在线| 一区二区欧美国产| 成人欧美一区二区三区1314| 久久久久国产免费免费 | 欧美无乱码久久久免费午夜一区 | 色综合久久久久综合99| 国产高清在线观看免费不卡| 蜜桃久久精品一区二区| 亚洲电影在线播放| 一区二区三区日韩欧美| 日本女人一区二区三区| 欧美成人高清电影在线| www国产成人免费观看视频 深夜成人网| 中文字幕综合网| 夜夜精品浪潮av一区二区三区| 国产婷婷色一区二区三区| 日韩一区二区精品在线观看| 欧美日韩精品一区二区天天拍小说 | 成人一区二区三区| 国产一区二区成人久久免费影院| 久久av中文字幕片| 精品一区二区在线播放| 久久99国产精品久久99果冻传媒| 日韩电影免费一区| 免费的成人av| 麻豆传媒一区二区三区| 狠狠色丁香婷综合久久| 国产真实乱对白精彩久久| 国产乱一区二区| 国产馆精品极品| 欧美日韩一本到| 日韩成人伦理电影在线观看| 国产欧美日韩卡一| 国产精品理伦片| 亚洲特黄一级片| 亚洲综合免费观看高清完整版 | 色94色欧美sute亚洲线路一ni | 亚洲欧美国产毛片在线| 亚洲精品中文字幕在线观看| 亚洲精品乱码久久久久久黑人 | 免费观看成人鲁鲁鲁鲁鲁视频| 免费成人av在线播放| 国产综合色在线视频区| 成人激情午夜影院| 色哟哟一区二区在线观看| 欧美视频第二页| 日韩欧美国产wwwww| 亚洲精品一线二线三线| 国产精品毛片大码女人| 亚洲精品福利视频网站| 三级在线观看一区二区| 精品在线播放午夜| 成年人国产精品| 欧美视频中文字幕| 亚洲精品在线网站| 亚洲色图在线播放| 欧美a级理论片| 成人性视频免费网站| 在线观看免费一区| 久久久久久影视| 一区二区三区精品视频| 激情六月婷婷综合| av男人天堂一区| 欧美日韩aaa| 欧美在线不卡视频| 欧美午夜一区二区三区免费大片| 国产麻豆精品久久一二三| 亚洲精品一区二区三区福利| 久久久久久电影| 一区二区三区在线视频观看58| 免费在线看一区| 99r国产精品| 日韩欧美国产高清| 亚洲婷婷在线视频| 久久精品噜噜噜成人av农村| 99久久综合国产精品| 欧美一区二区三区四区五区| 国产精品久久夜| 久久99国产乱子伦精品免费| 在线亚洲一区二区| 久久亚洲精品国产精品紫薇| 亚洲在线中文字幕| 成人精品鲁一区一区二区| 欧美一级黄色大片| 亚洲激情在线激情| 91精品欧美综合在线观看最新| 欧美激情一区二区三区| 蜜桃av一区二区三区电影| 色婷婷久久久亚洲一区二区三区| 一区二区三区日韩欧美| 91精品国产综合久久香蕉的特点 | 免费成人小视频| 97久久久精品综合88久久| 欧美va日韩va| 日韩国产精品大片| 欧美在线高清视频| 亚洲色图制服丝袜| 成人av在线电影| 中文字幕免费观看一区| 精品一区二区三区在线观看国产| 欧美日韩中文字幕一区| 亚洲久本草在线中文字幕| 成人app在线观看| 麻豆极品一区二区三区| 欧美日韩一区二区三区不卡| 亚洲色图20p| av激情亚洲男人天堂| 国产精品亲子乱子伦xxxx裸| 激情综合五月天| 日韩三级免费观看| 日产国产欧美视频一区精品| 欧美精品丝袜中出| 亚洲电影在线播放| 欧美日韩精品专区| 午夜婷婷国产麻豆精品| 欧美日韩精品一区二区三区| 亚洲一区二区三区四区的 | 精品欧美一区二区三区精品久久| 日韩av午夜在线观看| 欧美精品tushy高清| 午夜久久久久久电影| 欧美精品在线观看播放| 日韩av不卡一区二区| 日韩精品一区二区三区视频| 美女视频黄a大片欧美| 日韩午夜激情免费电影| 老司机精品视频线观看86| 精品国产制服丝袜高跟| 狠狠色丁香久久婷婷综合_中| 精品国产乱码久久久久久久| 国产一区二区三区黄视频| 国产午夜精品一区二区| 成人夜色视频网站在线观看| 国产精品成人免费| 在线亚洲一区二区| 奇米亚洲午夜久久精品| 精品sm在线观看| 粉嫩久久99精品久久久久久夜| 中文久久乱码一区二区| 91麻豆国产精品久久| 亚洲小说春色综合另类电影| 69av一区二区三区| 国内外精品视频| 中文字幕日本不卡| 欧美日韩视频专区在线播放| 日本免费在线视频不卡一不卡二| 久久欧美中文字幕| 97精品国产97久久久久久久久久久久 | 制服丝袜亚洲色图| 黄色精品一二区| 中文字幕一区二区日韩精品绯色| 色噜噜狠狠色综合中国| 日韩精品一二三四| 久久久精品免费网站| 日本久久一区二区| 久久av中文字幕片| 亚洲欧美日韩电影| 日韩女优电影在线观看| jiyouzz国产精品久久| 亚洲一区二区三区四区在线观看| 精品美女在线播放| 色妞www精品视频| 久久99久久久欧美国产| 《视频一区视频二区| 欧美一区二区三区系列电影| 成人免费av资源| 麻豆精品视频在线观看视频| 自拍偷拍欧美精品| 日韩久久精品一区| 色999日韩国产欧美一区二区| 久久电影网站中文字幕 | 97国产一区二区| 日韩主播视频在线| 国产精品少妇自拍| 6080亚洲精品一区二区| 成人精品小蝌蚪| 裸体健美xxxx欧美裸体表演| 亚洲三级在线播放| 久久亚洲综合av| 9191成人精品久久| 99久久国产综合精品女不卡| 韩国理伦片一区二区三区在线播放| 亚洲免费看黄网站| 久久久亚洲国产美女国产盗摄| 欧美日韩成人综合在线一区二区| 不卡的看片网站| 国产一区二区三区在线观看免费|