版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第3章應(yīng)用程序框架與文檔/視圖結(jié)構(gòu)
了解應(yīng)用程序的基本框架以及文檔/視圖結(jié)構(gòu)。13.1生成應(yīng)用程序框架如果程序名為Test,那么生成的框架將包含4個(gè)基本的類:CMainFrame:主框架類CTestApp:主應(yīng)用程序類CTestDoc:文檔類CTestView:視圖類CTestAppCTestViewCMainFrameCTestDoc消息消息消息parentdocument23.2CTestApp類重要特性:(1)由MFC中的類CWinApp派生來(lái)。(2)InitInstance()在生成該程序新的實(shí)例時(shí),自動(dòng)調(diào)用完成一些初始化的工作。(3)ExitInstance()在程序?qū)嵗顺鰰r(shí),自動(dòng)調(diào)用。主要功能:(1)定義文檔模板。(2)接收Windows系統(tǒng)的消息。(3)啟動(dòng)程序界面3文檔模板:作用:把程序用到的框架窗口、文檔、視圖、應(yīng)用程序?qū)ο笠约坝嘘P(guān)的資源聯(lián)系起來(lái)。一個(gè)程序可以定義多個(gè)文檔模板。43.2CMainFrame類重要特性:(1)由MFC中的類CMainFrame派生來(lái)。(2)是CTestView的父窗口。主要功能:(1)管理程序的主框架窗口。(2)工具條、狀態(tài)條的生成和管理。53.3CTestDoc類、CTestDoc類與文檔/視圖結(jié)構(gòu)重要特性:(1)CTestDoc由MFC中的類CDocument派生來(lái)數(shù)據(jù)維護(hù)(2)CTestView由MFC中的類CView派生來(lái)數(shù)據(jù)顯示主要功能:(1)文檔類負(fù)責(zé)管理和維護(hù)數(shù)據(jù)。(2)視圖類負(fù)責(zé)將文檔類中的數(shù)據(jù)顯示給用戶,并接受用戶的修改,將修改結(jié)果反饋給文檔類。6CDocument類中常用函數(shù):(1)CDocument類中OnNewDocument()函數(shù)虛函數(shù)新文檔被創(chuàng)建時(shí)調(diào)用。(2)CDocument類中OnOpenDocument()函數(shù)虛函數(shù)打開(kāi)已有文檔時(shí)調(diào)用。(3)CDocument類中OnSaveDocument()函數(shù)虛函數(shù)保存文檔時(shí)調(diào)用。(4)CDocument類中OnCloseDocument()函數(shù)虛函數(shù)關(guān)閉文檔時(shí)調(diào)用。7CView類中常用函數(shù):(1)CView類中OnDraw()函數(shù)虛函數(shù)視圖刷新時(shí)自動(dòng)調(diào)用。(2)CView類的OnInitialUpdate()函數(shù)應(yīng)用程序啟動(dòng)時(shí),應(yīng)用框架在調(diào)用了OnCreate()函數(shù)后會(huì)立刻調(diào)用OnInitialUpdate()函數(shù)??梢灶愑迷摵瘮?shù)對(duì)視對(duì)象進(jìn)行初始化。8文檔-視圖之間的作用函數(shù):(1)CView類中GetDocument()函數(shù)在視圖中得到相應(yīng)的文檔。它返回文檔的指針,通過(guò)該指針就可以對(duì)文檔類的成員函數(shù)及公共數(shù)據(jù)進(jìn)行訪問(wèn)。CTestDoc*CTestView::GetDocument(){
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CTestDoc)));
return(CTestDoc*)m_pDocument;}(2)CDocument類中GetNextView()函數(shù)用來(lái)在文檔中得到試圖,但文檔中可以對(duì)應(yīng)不止一個(gè)視圖,因此,必須進(jìn)行一個(gè)循環(huán)。9文檔-視圖之間的作用函數(shù):(3)CDocument類中UpdateAllViews()函數(shù)更新文檔對(duì)應(yīng)的所有視圖。當(dāng)文檔中的數(shù)據(jù)發(fā)生變化時(shí)調(diào)用,用以對(duì)顯示的數(shù)據(jù)進(jìn)行更新。
GetDocument()->UpdateAllViews(this);(4)CView類中OnUpdate()函數(shù)當(dāng)應(yīng)用程序調(diào)用了文檔類的UpdateAllViews()函數(shù)時(shí),應(yīng)用程序框架會(huì)相應(yīng)的調(diào)用該函數(shù)。
void
CTestView::OnUpdate(CView*pSender,LPARAM
lHint,CObject*pHint){}10文檔-視圖之間的作用順序:應(yīng)用程序啟動(dòng)CTestDoc對(duì)象被創(chuàng)建
CTestView對(duì)象被創(chuàng)建視窗口被創(chuàng)建
CTestView::OnCreate被調(diào)用
CTestView::OnInitialUpdate被調(diào)用視對(duì)象被初始化 視窗口被顯示用戶編輯數(shù)據(jù)CTestView的函數(shù)更新CTestDoc中的數(shù)據(jù)用戶退出程序CTestView對(duì)象被刪除
CTestDoc對(duì)象被刪除11常用的視圖類:(1)CView類所有視圖類的基類(2)CScrollView帶有滾動(dòng)條的視圖類(3)CFormView具有無(wú)模式對(duì)話框特點(diǎn)的類(4)CEditView可以進(jìn)行文字輸入的類123.4CChildFrame類重要特性:(1)由MFC中的類CMDIChildWnd派生來(lái)。(2)是CTestView的父窗口。3.5小結(jié)應(yīng)用程序框架中類與文件的關(guān)系文檔/視圖框架的結(jié)構(gòu)及其操作4個(gè)類的主要功能13第4章Microsoft類庫(kù)基礎(chǔ)
了解MFC類庫(kù)中常用的類。144.1Microsoft類庫(kù)概述核心是以C++類的形式封裝的WindowsAPI。幾乎覆蓋了我們通常編程中所用到的所有基本功能。我們可以在此基礎(chǔ)上派生出我們自己的類,加上所需的特性和方法,完成具體的任務(wù)。4.2根類:CObject類庫(kù)中的絕大多數(shù)類都由此派生。該類提供了一些有用的功能,包括數(shù)據(jù)序列化、對(duì)象賦值、類的兼容、類的運(yùn)行時(shí)信息等。154.3MFC應(yīng)用程序框架結(jié)構(gòu)類應(yīng)用與線程支持類
CWinApp類應(yīng)用程序類
CWinThread類線程類命令發(fā)送類
CCmdTarget類封裝了MFC消息映射機(jī)制,可以接受消息,并對(duì)消息作出響應(yīng)。
CCmdUI類用于更新用戶接口對(duì)象的可編程界面164.3MFC應(yīng)用程序框架結(jié)構(gòu)類文檔類
Cdocument文檔類的基類
COleDocuent封裝了包容器支持的功能
COleLinkingDoc支持嵌入對(duì)象的鏈接
COleSeverDoc是服務(wù)器應(yīng)用文檔類的基類文檔模板類
CDocTemplate文檔模板的基類
CMultiDocTemplate多文檔界面(MDI)中的文檔模板
CSingleDocTemplate單文檔界面(SDI)中的文檔模板174.4MFC窗口類窗口支持類:CWnd所有窗口類的基類框架窗口類
CFrameWnd框架窗口類的基類
CMDIFrameWndMDI程序的框架窗口類
CMDIChildWndMDI程序的子框架窗口類
CMiniFrameWndCOleIPFrameWndCMenu184.4MFC窗口類視圖類
CScrollViewCFormViewCDaoRecordViewCRecordView194.4MFC窗口類控件類
CStaticCEditCRichEditCtrlCScrollBarCButtonCListBoxCComboBoxCTreeViewCToolBarCtrlCStatusBarCtrl204.4MFC窗口類控制欄類
CContolBarCDialogBarCToolBarCStatusBar214.4MFC窗口類對(duì)話框類
CDialog類
CDataExchangeCCommonDialogCFileDialogCColorDialogCFontDialogCFindReplaceDialogCPrintDialogCPageSetupDialog224.5MFC異常類調(diào)試支持類
CDumpContext提供存放上下文環(huán)境堆功能
CMemoryState提供了供內(nèi)存使用的快照的結(jié)構(gòu)功能異常類
CException所有異常類的基類
CArchiveException文檔歸檔異常管理類
CDaoException處理DAO數(shù)據(jù)庫(kù)運(yùn)行失敗引起的異常
CDBException處理ODBC數(shù)據(jù)庫(kù)運(yùn)行失敗引起的異常
CFileException處理文件異常
CMemoryException處理內(nèi)存異常
CNotSupportedException處理不支持功能引起的異常
COleException處理OLE處理敗引起的異常
CResourceException處理由裝載資源失敗引起的異常234.6MFC文件類CFile文件類文件類的基類CStdioFile提供對(duì)緩沖流磁盤文件提供的操作。CMemFile文件類提供對(duì)內(nèi)存文件提供的操作CShareFile提供對(duì)共享內(nèi)存文件提供的操作COleStreamFileCSocketFile244.7繪圖與打印類輸出(設(shè)備上下文)類
CDC類設(shè)備上下文類的基類
CPaintDC類OnPaint函數(shù)中使用的設(shè)備上下文類
CClientDC類支持窗口客戶區(qū)的顯示相關(guān)的操作
CWindowDC類支持與整個(gè)窗口的顯示相關(guān)的操作
CMetaFileDC類支持圖元文件的設(shè)備上下文操作輸出相關(guān)類
CPoint類支持對(duì)坐標(biāo)值的操作
CSize類支持對(duì)距離、相關(guān)位置或坐標(biāo)值的操作
CRect類支持對(duì)矩形區(qū)的坐標(biāo)值的操作
CRgn類支持對(duì)區(qū)域的操作254.7繪圖與打印類繪圖工具類
CGdiObjectGDI繪圖工具的基類,一般不能直接使用
CBitmap提供位圖的操作接口
CBrush畫(huà)刷類
CPen畫(huà)筆類
CFont字體類
Cpalette調(diào)色板類264.8ODBC類CDatabase提供訪問(wèn)數(shù)據(jù)源的操作CRecordSet處理從數(shù)據(jù)源中選擇的記錄集CRecordView處理顯示記錄集的窗體視圖CFieldExchange支持記錄字段交換CLongBinary處理二進(jìn)制大型對(duì)象4.9小結(jié)MFC類庫(kù)包含了200多個(gè)類根據(jù)需要選擇使用不同的類27第5章菜單、ClassWizard與消息映射
掌握如何實(shí)現(xiàn)菜單,如何使用ClassWizard以及了解消息映射的原理和應(yīng)用。285.1編輯菜單資源5.1.1系統(tǒng)生成的菜單5.1.2菜單的編輯295.2ClassWizard簡(jiǎn)介MessageM
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年標(biāo)準(zhǔn)醫(yī)院器械采購(gòu)協(xié)議版
- 2024年度養(yǎng)老地產(chǎn)購(gòu)房合同標(biāo)準(zhǔn)范本3篇
- 2024全新起重機(jī)轉(zhuǎn)讓與操作培訓(xùn)及配件供應(yīng)協(xié)議3篇
- 2024版土地開(kāi)發(fā)利用轉(zhuǎn)讓合同3篇
- 2024年度飼料添加劑研發(fā)與應(yīng)用合作協(xié)議3篇
- 2024年標(biāo)準(zhǔn)餐飲租賃協(xié)議模板一
- 2024年特色餐飲加盟協(xié)議
- 2024年度智慧城市基礎(chǔ)設(shè)施建設(shè)承包合同3篇
- 2024版冷鏈物流配送承包合同范本(含溫度監(jiān)控服務(wù))2篇
- 2024年度企業(yè)財(cái)務(wù)分析與稅務(wù)籌劃咨詢合同匯編2篇
- 民間療法—敷臍
- 教科研基地匯報(bào)材料
- 調(diào)心滾子軸承參數(shù)表
- 質(zhì)量等級(jí)說(shuō)明
- 中國(guó)移動(dòng)呼叫中心運(yùn)營(yíng)管理指標(biāo)體系
- xx縣鍺礦產(chǎn)業(yè)發(fā)展方案(參考意見(jiàn)稿)
- Kappa計(jì)算公式及表格
- 沙彌尼律儀要略
- 八、施工現(xiàn)場(chǎng)總平面布置圖
- 汽車4S店客服月報(bào)工作總結(jié)計(jì)劃ppt課件
- 小學(xué)六年級(jí)奧數(shù)簡(jiǎn)便運(yùn)算(含答案)
評(píng)論
0/150
提交評(píng)論