MFC的基礎(chǔ)知識_第1頁
MFC的基礎(chǔ)知識_第2頁
MFC的基礎(chǔ)知識_第3頁
MFC的基礎(chǔ)知識_第4頁
MFC的基礎(chǔ)知識_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2022-3-161 2022-3-1622022-3-1632022-3-1642022-3-1651.VC+1.VC+編程的實現(xiàn)方法編程的實現(xiàn)方法F利用利用Windows APIWindows API函數(shù)編程,用戶需要編寫函數(shù)編程,用戶需要編寫大量的代碼,工作量大。大量的代碼,工作量大。F利用利用MFCMFC和向?qū)Ш拖驅(qū)? (WizardWizard) )實現(xiàn)可視化編程實現(xiàn)可視化編程, ,其其步驟如下:步驟如下:用用Class WizardClass Wizard生成應(yīng)用程序的基本框架;生成應(yīng)用程序的基本框架;用用Class WizardClass Wizard建立類、消息處理、數(shù)據(jù)處理建

2、立類、消息處理、數(shù)據(jù)處理函數(shù)或定義控件的屬性、事件和方法:函數(shù)或定義控件的屬性、事件和方法:把各應(yīng)用程序所要求的功能添加到類中。把各應(yīng)用程序所要求的功能添加到類中。2022-3-166FMFCMFC是用來編寫是用來編寫WindowsWindows應(yīng)用程序應(yīng)用程序的的C+C+類集類集以層次結(jié)構(gòu)組織以層次結(jié)構(gòu)組織封裝了大部分封裝了大部分APIAPI函數(shù)函數(shù)提供了提供了圖形環(huán)境圖形環(huán)境下應(yīng)用程序的框架下應(yīng)用程序的框架提供了創(chuàng)建應(yīng)用程序的組件提供了創(chuàng)建應(yīng)用程序的組件F提供大量的基類便于不同的應(yīng)用環(huán)境進(jìn)行擴充提供大量的基類便于不同的應(yīng)用環(huán)境進(jìn)行擴充F允許自定義和擴展應(yīng)用程序中的類允許自定義和擴展應(yīng)用程序

3、中的類F較好的移植性,較好的移植性,可移植于眾多的平臺可移植于眾多的平臺F很好地保持了程序的向下兼容性很好地保持了程序的向下兼容性2022-3-167FMFCMFC1.01.0& &C/C+7.0C/C+7.0提供提供應(yīng)用程序中非圖形部分的類應(yīng)用程序中非圖形部分的類GUIGUI功能的功能的WindowsWindows相關(guān)類;相關(guān)類;FMFCMFC2.02.0& &VC+1.0VC+1.0增添一些應(yīng)用程序;增添一些應(yīng)用程序;FMFCMFC2.02.0& &VC+1.5VC+1.5加了加了ODBCODBC類,并支持類,并支持OLEOLE性能;性能;F

4、MFCMFC3.03.0& &VC+2.0VC+2.0支持開發(fā)支持開發(fā)3232位應(yīng)用程序;位應(yīng)用程序;FMFCMFC4.04.0包含了在包含了在Win95Win95和和NTNT中大多數(shù)新的公共控件中大多數(shù)新的公共控件和和DAODAO、MAPIMAPI;FMFCMFC4.214.21增強了對數(shù)據(jù)庫應(yīng)用程序的支持,利用增強了對數(shù)據(jù)庫應(yīng)用程序的支持,利用DAODAO類通過編程語言來訪問、操縱和管理數(shù)據(jù)庫,類通過編程語言來訪問、操縱和管理數(shù)據(jù)庫,對對InternetInternet也提供了強有力的支持。也提供了強有力的支持。(請參閱教材(請參閱教材263263頁)頁)2022-3-16

5、8 (請參閱教材(請參閱教材263-269263-269頁)頁)2022-3-1691. MFC類的組織結(jié)構(gòu)類的組織結(jié)構(gòu)2022-3-16101. MFC類的組織結(jié)構(gòu)(續(xù))類的組織結(jié)構(gòu)(續(xù))2022-3-16112022-3-16122022-3-16132022-3-16142. 根類根類F根類根類CobjectCobject的的多數(shù)是多數(shù)是抽象基類抽象基類。提供了。提供了許多編程所需的公共操作:許多編程所需的公共操作:2022-3-16153.應(yīng)用程序體系結(jié)構(gòu)類應(yīng)用程序體系結(jié)構(gòu)類F用于構(gòu)造應(yīng)用程序框架,提供多數(shù)應(yīng)用程序用于構(gòu)造應(yīng)用程序框架,提供多數(shù)應(yīng)用程序公用的功能公用的功能F編寫程序的任

6、務(wù)是填充框架,添加應(yīng)用程序編寫程序的任務(wù)是填充框架,添加應(yīng)用程序?qū)S玫墓δ?;專用的功能;F其中較重要類:其中較重要類:命令相關(guān)類;命令相關(guān)類;窗口應(yīng)用程序類;窗口應(yīng)用程序類;文檔文檔/ /視類;視類;線程基類;線程基類;.2022-3-1616FCObjectCObject的子類的子類; ;FMFCMFC庫中所有具有消息映射屬性的基類。庫中所有具有消息映射屬性的基類。F消息映射消息映射規(guī)定了當(dāng)一對象接收到消息命令時,應(yīng)規(guī)定了當(dāng)一對象接收到消息命令時,應(yīng)調(diào)用哪一個函數(shù)對該消息進(jìn)行處理。調(diào)用哪一個函數(shù)對該消息進(jìn)行處理。(2)(2)窗口應(yīng)用程序類:窗口應(yīng)用程序類:CWinAppCWinApp類類F每

7、個應(yīng)用程序有且僅有一個從每個應(yīng)用程序有且僅有一個從CWinAppCWinApp類中派生的類中派生的對象。在運行程序中該對象與其它對象相互協(xié)調(diào);對象。在運行程序中該對象與其它對象相互協(xié)調(diào);FCWinAppCWinApp類封裝了類封裝了初始化、運行、終止初始化、運行、終止應(yīng)用程序的應(yīng)用程序的代碼。代碼。(1)(1)命令相關(guān)類:命令相關(guān)類:CCmdTargetCCmdTarget類類2022-3-1617(3)(3)文檔文檔/ /視類視類F文檔對象文檔對象由文檔模板對象創(chuàng)建,管理應(yīng)用程序的由文檔模板對象創(chuàng)建,管理應(yīng)用程序的數(shù)據(jù)數(shù)據(jù); ;F視對象視對象表示一個窗口的客戶區(qū),顯示文檔數(shù)據(jù)并表示一個窗口的

8、客戶區(qū),顯示文檔數(shù)據(jù)并允許用戶與之交互。允許用戶與之交互。(4)(4)線程基類:線程基類:CWinThreadCWinThread類類F所有線程的基類,可直接使用。所有線程的基類,可直接使用。FCWinAppCWinApp類就是從類就是從CWinThreadCWinThread類中派生出來的。類中派生出來的。2022-3-16182022-3-1619(1)(1)窗口類窗口類CWndCWnd類類FCwndCwnd是是CCmdTargetCCmdTarget類的子類,提供了所有窗口類的基本類的子類,提供了所有窗口類的基本功能;功能;F創(chuàng)建創(chuàng)建WindowsWindows窗口的兩個步驟:窗口的兩個

9、步驟:H 引入構(gòu)造函數(shù),構(gòu)造一個引入構(gòu)造函數(shù),構(gòu)造一個CWndCWnd對象對象H 調(diào)用調(diào)用CreateCreate建立建立WindowsWindows窗口,并連到窗口,并連到CWndCWnd對象對象(2)(2)視類視類CViewCView類類F表示框架窗口的用戶區(qū)和顯示文檔數(shù)據(jù)并接收輸入的用表示框架窗口的用戶區(qū)和顯示文檔數(shù)據(jù)并接收輸入的用戶區(qū);戶區(qū);F其主要派生類:其主要派生類:H CScrollViewCScrollView:具有滾動功能的視的基類:具有滾動功能的視的基類H CFormViewCFormView:其布局在對話資源中定義的滾動視:其布局在對話資源中定義的滾動視H CEditVi

10、ewCEditView:具有文本編輯、查找、替換和滾動功能的視:具有文本編輯、查找、替換和滾動功能的視2022-3-1620(3)(3)菜單類菜單類CMenuCMenu類類FCObjectCObject類的子類,用于管理菜單。類的子類,用于管理菜單。F一個一個Windows Windows HMenuHMenu的封裝,提供了菜單資源建的封裝,提供了菜單資源建立、修改、跟蹤及刪除的成員函數(shù)。立、修改、跟蹤及刪除的成員函數(shù)。(4)(4)對話框類對話框類CDialogCDialog類類F從從CWndCWnd類中派生出來的特殊的窗口類。類中派生出來的特殊的窗口類。F包括通用對話框類包括通用對話框類CD

11、ialogCDialog以及支持文件選擇、以及支持文件選擇、顏色選擇、字體選擇、打印、替換文本的公共標(biāo)準(zhǔn)顏色選擇、字體選擇、打印、替換文本的公共標(biāo)準(zhǔn)對話框子類。對話框子類。2022-3-1621(5)(5)控件類控件類F包括若干主要類:包括若干主要類:H按鈕按鈕H靜態(tài)文本靜態(tài)文本H滾動條滾動條H編輯框編輯框H.,F(xiàn)為為WindowsWindows應(yīng)用程序提供了各種輸入和顯示界面。應(yīng)用程序提供了各種輸入和顯示界面。F用于建立靜態(tài)文本、命令按鈕、位圖按鈕、列表用于建立靜態(tài)文本、命令按鈕、位圖按鈕、列表框、組合框、滾動條、編輯框等???、組合框、滾動條、編輯框等。2022-3-1622(6)(6)控件

12、條類控件條類CControlBarCControlBar類類F連接在主窗口框架的頂部或底部的小窗口;連接在主窗口框架的頂部或底部的小窗口;F為工具條、狀態(tài)條、對話條和分割窗口建立模型;為工具條、狀態(tài)條、對話條和分割窗口建立模型;F包括如下的基類:包括如下的基類:FCToolBarCToolBar工具條;工具條;FCStatusBarCStatusBar狀態(tài)條;狀態(tài)條;FCDialogBarCDialogBar對話條。對話條。2022-3-1623(7)(7)繪畫對象類繪畫對象類CGdiObjectCGdiObject類類F圖形繪畫對象子層次結(jié)構(gòu)以圖形繪畫對象子層次結(jié)構(gòu)以CGdiObjectCG

13、diObject類為根類類為根類; ;F可用于建立繪畫對象模型,如畫筆、刷子、字體、可用于建立繪畫對象模型,如畫筆、刷子、字體、位圖、調(diào)色板等。位圖、調(diào)色板等。F其子類有:其子類有:FCbitmpCbitmp: :位圖位圖FCbrushCbrush: :刷子刷子FCfontCfont: :字體字體FCpaletteCpalette: :調(diào)色板調(diào)色板FCPenCPen: :畫筆畫筆FCRgnCRgn: :域域2022-3-1624(8)(8)設(shè)備描述表類設(shè)備描述表類CDCCDC類類F是是CObjectCObject類的子類;其子類有:類的子類;其子類有:HCpainDCCpainDCHCClie

14、ntDCCClientDCHCWindowDCCWindowDCHCMetaFileDCCMetaFileDCF該類及其子類支持設(shè)備描述表對象;該類及其子類支持設(shè)備描述表對象;F包括許多成員函數(shù),如映射函數(shù)、繪畫工具函包括許多成員函數(shù),如映射函數(shù)、繪畫工具函數(shù)、區(qū)域函數(shù)等,可以完成所有的繪畫工作。數(shù)、區(qū)域函數(shù)等,可以完成所有的繪畫工作。2022-3-16252022-3-1626(1)(1)文件類文件類F用以編寫輸入輸出處理函數(shù)。用以編寫輸入輸出處理函數(shù)。F主要文件類有:主要文件類有:HCFileCFile類類: :訪問二進(jìn)制磁盤文件訪問二進(jìn)制磁盤文件HCMemFileCMemFile類:訪問

15、住內(nèi)存文件類:訪問住內(nèi)存文件HCStdioFileCStdioFile類:訪問(文本)磁盤文件類:訪問(文本)磁盤文件HCArchiveCArchive類:與類:與CfileCfile對象一起通過串行化實現(xiàn)對象對象一起通過串行化實現(xiàn)對象的永久存儲。的永久存儲。2022-3-1627(2)(2)異常類異常類CExceptionCException類類FCExceptionCException是所有異常情況的是所有異常情況的基類基類。F不能直接建立不能直接建立CExceptionCException對象,只能建立對象,只能建立派生類派生類的的對象,用派生類來捕獲指定的異常情況對象,用派生類來捕獲指

16、定的異常情況FCexceptionCexception的派生類有:的派生類有:HCArchiveExceptionCArchiveException類類: :歸檔異常歸檔異常HCFileExceptionCFileException類類: :文件異常文件異常HCMemoryExceptionCMemoryException類類: :內(nèi)存(不夠)異常內(nèi)存(不夠)異常HCNotSupportedExceptionCNotSupportedException類類: :用未支持特征異常用未支持特征異常HCResourceExceptionCResourceException類類: :裝載資源(失敗)異

17、常裝載資源(失?。┊惓CUseExceptionCUseException類類: :用于停止用戶起動的操作異常用于停止用戶起動的操作異常2022-3-1628(3)(3)模板收集類模板收集類F可將多種對象存放到數(shù)組、列表和可將多種對象存放到數(shù)組、列表和“ “ 映射映射”中。但這中。但這些收集類是模板,它們的參數(shù)確定了存放在集合中的對些收集類是模板,它們的參數(shù)確定了存放在集合中的對象類型。象類型。F主要的模板收集類有:主要的模板收集類有:HCArryCArry類類: :元素存入數(shù)組元素存入數(shù)組HCMapCMap類類: :鍵映射到值鍵映射到值HCListCList類類: :元素存入鏈表元素存入鏈

18、表HCTypedPtrListCTypedPtrList類類: :將對象指針存入鏈表的類型將對象指針存入鏈表的類型HCTypedPtrArrayCTypedPtrArray類類: :將對象指針存入數(shù)組的類型將對象指針存入數(shù)組的類型HCTypedPtrMapCTypedPtrMap類類: :將鍵指針映射到值指針的類型將鍵指針映射到值指針的類型2022-3-1629F對象連接與嵌入類對象連接與嵌入類包括包括3 3組組, ,共共9 9個類。個類。F普通類普通類COleDocuemntCOleDocuemntCOleItemCOleItemCOleExceptionCOleExceptionF客戶類客

19、戶類COleClientDocCOleClientDocCOleClientItemCOleClientItemF服務(wù)器類服務(wù)器類COleServerCOleServerCOleTemplateCOleTemplateCOleServerDocCOleServerDocCOleServerItemCOleServerItem2022-3-1630F開放數(shù)據(jù)庫連接開放數(shù)據(jù)庫連接層提供了一些類來支持層提供了一些類來支持ODBCODBC特征特征, ,即通過這些類可開發(fā)數(shù)據(jù)庫應(yīng)用程序來訪問多個數(shù)即通過這些類可開發(fā)數(shù)據(jù)庫應(yīng)用程序來訪問多個數(shù)據(jù)庫文件。據(jù)庫文件。F主要包括的類主要包括的類:HCDataBa

20、seCDataBase類:對一個數(shù)據(jù)源的連接類:對一個數(shù)據(jù)源的連接HCrecordsetCrecordset類:選一組記錄類:選一組記錄HCRecordViewCRecordView類:直接連接一記錄集的格式視類:直接連接一記錄集的格式視HCFieldExchangeCFieldExchange類:支持記錄字段交換類:支持記錄字段交換HCLongBinaryCLongBinary類:封裝一存儲句柄類:封裝一存儲句柄HCDBExceptionCDBException類:數(shù)據(jù)存取處理(失?。┊惓n悾簲?shù)據(jù)存取處理(失敗)異常2022-3-1631 2022-3-1632。2022-3-1633全局函

21、數(shù)全局函數(shù)函函數(shù)數(shù)名名功功能能簡簡介介AfxAbort無無條條件件終終止止一一個個應(yīng)應(yīng)用用程程序序AfxBeginThread創(chuàng)創(chuàng)建建一一個個新新線線程程并并執(zhí)執(zhí)行行它它AfxEndThread終終止止當(dāng)當(dāng)前前正正在在執(zhí)執(zhí)行行的的線線程程AfxFormatString格格式式化化字字符符串串AfxMessageBox顯顯示示一一個個 Windows消消息息框框AfxGetApp返返回回當(dāng)當(dāng)前前應(yīng)應(yīng)用用程程序序?qū)ο笙蟮牡闹钢羔樶楢fxGetInstanceHandle返返回回標(biāo)標(biāo)識識當(dāng)當(dāng)前前應(yīng)應(yīng)用用程程序序?qū)ο笙蟮牡木渚浔鶤fxRegisterWndClass登登記記用用于于創(chuàng)創(chuàng)建建 Window

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論