亚洲欧美第一页_禁久久精品乱码_粉嫩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">
      <tr>
        <td width="363" bgcolor="#15397D" height="13"></td>
        <td width="252" bgcolor="#000000" height="13"><p align="right"></font><small><span
        style="text-decoration: none"><a href="../index.htm"><font color="#FFFFFF">電腦報網絡學院Visual 
        C++網絡教程</font></a></span></small></td>
      </tr>
    </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(智能鼠標器)的支持?,F在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應用程序的一組類?;A類庫的核心是以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>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲女子a中天字幕| 亚洲欧美日韩小说| 欧美巨大另类极品videosbest| www.欧美.com| 97国产一区二区| 91免费观看视频在线| 在线这里只有精品| 欧美电影影音先锋| 2024国产精品| 国产欧美一区二区精品性色| 国产肉丝袜一区二区| 亚洲欧美偷拍三级| 亚洲成av人影院| 久久精品99国产精品| 国产成人在线视频播放| 成人av第一页| 欧美性受极品xxxx喷水| 日韩欧美一区二区在线视频| 久久亚洲精品小早川怜子| 亚洲国产精品v| 亚洲大片在线观看| 韩国女主播一区二区三区| 国产69精品久久久久毛片| 色综合久久天天综合网| 欧美一区二区视频在线观看2022| 久久一夜天堂av一区二区三区| 国产精品色呦呦| 视频一区视频二区中文字幕| 国产综合久久久久久久久久久久| 91亚洲精品一区二区乱码| 欧美老人xxxx18| 中文字幕欧美三区| 爽好久久久欧美精品| 成人三级伦理片| 91精品久久久久久久91蜜桃| 国产丝袜在线精品| 日韩福利视频导航| 99久久国产综合精品女不卡| 欧美老女人在线| 亚洲欧美另类久久久精品| 免费黄网站欧美| 91蝌蚪porny九色| 欧美一级在线观看| 亚洲一卡二卡三卡四卡无卡久久| 国内久久精品视频| 欧美日韩免费不卡视频一区二区三区| 国产亚洲精品中文字幕| 秋霞午夜鲁丝一区二区老狼| 91小视频免费看| 久久久国产一区二区三区四区小说| 亚洲动漫第一页| 波多野结衣在线一区| 日韩视频在线观看一区二区| 亚洲欧美一区二区三区国产精品 | 欧美一区二区三区性视频| 欧美激情一区二区三区在线| 伦理电影国产精品| 91九色最新地址| 亚洲四区在线观看| 成人综合在线视频| 久久免费视频色| 国产在线精品免费av| 日韩欧美的一区二区| 日韩av一级电影| 欧美久久久久久久久| 亚洲一区二区三区四区五区中文| 成人免费高清视频在线观看| 久久精品亚洲精品国产欧美| 国产综合色视频| 久久嫩草精品久久久久| 国产一区在线精品| 久久综合色婷婷| 国产成人精品一区二区三区网站观看| 精品国产乱码久久| 国产寡妇亲子伦一区二区| 国产视频一区不卡| 99久久免费国产| 亚洲日本va午夜在线电影| 一本色道久久综合亚洲aⅴ蜜桃| 中文字幕一区二区视频| eeuss鲁片一区二区三区在线看| 中文字幕在线观看一区| 色综合久久久久综合体| 午夜视频在线观看一区二区| 91精品免费在线观看| 久久精品国产亚洲aⅴ| 久久久99精品久久| 99热精品一区二区| 亚洲小说春色综合另类电影| 欧美蜜桃一区二区三区| 久久精品久久精品| 欧美国产日产图区| 在线观看免费成人| 九九在线精品视频| 欧美激情一区二区三区不卡| 色婷婷av一区二区三区大白胸| 亚洲综合免费观看高清在线观看| 在线播放国产精品二区一二区四区| 捆绑调教一区二区三区| 中文字幕av不卡| 色婷婷综合视频在线观看| 日韩精品欧美精品| 国产亚洲va综合人人澡精品| 九色综合狠狠综合久久| 亚洲欧洲日韩综合一区二区| 欧美另类变人与禽xxxxx| 国产麻豆成人传媒免费观看| 亚洲女同ⅹxx女同tv| 日韩一区二区三免费高清| 成人一区二区三区在线观看| 亚洲国产精品精华液网站| 国产亚洲精品久| 欧美人狂配大交3d怪物一区| 国产69精品久久777的优势| 亚洲一区二区视频在线| 国产欧美1区2区3区| 在线播放国产精品二区一二区四区 | 色婷婷av一区二区三区之一色屋| 日本aⅴ精品一区二区三区| 国产精品网曝门| 欧美一区二区视频在线观看2020| 波多野结衣视频一区| 国产在线一区观看| 丝袜亚洲另类欧美综合| 自拍偷拍欧美激情| 国产偷国产偷亚洲高清人白洁 | 一本久道久久综合中文字幕| 麻豆国产一区二区| 一区二区三区国产精品| 精品sm捆绑视频| 欧美丰满少妇xxxbbb| 色菇凉天天综合网| 成人动漫一区二区| 国产一区二区主播在线| 日本va欧美va欧美va精品| 亚洲国产欧美在线| 亚洲人成在线观看一区二区| 国产精品久久777777| 国产亚洲欧美一级| 久久久.com| 久久久蜜臀国产一区二区| 日韩一区二区三区在线观看| 91麻豆精品国产无毒不卡在线观看| 色综合久久天天| 91黄视频在线| 99热这里都是精品| 91视频国产观看| 91一区二区在线| 91国偷自产一区二区三区观看 | 欧美日韩一区二区电影| 一本久久a久久精品亚洲| 91在线视频观看| 色老综合老女人久久久| 色8久久人人97超碰香蕉987| 色综合久久中文综合久久97 | 7777精品伊人久久久大香线蕉经典版下载| 91在线云播放| 欧美日韩在线播放三区四区| 欧洲中文字幕精品| 欧美日韩亚洲丝袜制服| 日韩一本二本av| 精品99999| 国产精品久久久久影视| 亚洲欧美偷拍三级| 日韩国产精品久久久久久亚洲| 日韩专区一卡二卡| 国产精品一区二区久久精品爱涩| 国产不卡高清在线观看视频| 成人午夜免费电影| 欧美性受xxxx黑人xyx| 欧美一区二区三级| 久久久国产午夜精品| 亚洲成人福利片| 男人的j进女人的j一区| 国产老女人精品毛片久久| 99re热视频精品| 欧美一区二区网站| 国产日韩欧美激情| 亚洲欧美电影一区二区| 日韩电影网1区2区| 成人动漫精品一区二区| 欧美日韩在线观看一区二区 | 精品视频一区三区九区| 精品美女被调教视频大全网站| 国产免费观看久久| 婷婷综合在线观看| 国产精品一区二区久久精品爱涩| 91无套直看片红桃| 日韩欧美中文一区| 一区二区三区在线看| 国产综合久久久久影院| 欧美无乱码久久久免费午夜一区| 精品日韩欧美一区二区| 亚洲精品国产精华液| 国产一区二三区| 欧美喷潮久久久xxxxx| 国产精品国产自产拍在线| 奇米精品一区二区三区四区| 色天天综合久久久久综合片| 欧美成人精品3d动漫h|