版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、創(chuàng)建MFC Windows什么是MFCWindows程序設(shè)計(jì)基礎(chǔ)單文檔應(yīng)用什么是MFCMFC的優(yōu)點(diǎn)MFC的功能如何使用 MFC什么是MFCMFC是指Microsoft 基礎(chǔ)類庫(kù)(Microsoft Foundation Class Library)。這個(gè)類庫(kù)是在 Microsoft Windows 中進(jìn)行程序設(shè)計(jì)的應(yīng)用程序框架。MFC的所有代碼都是用 C+ 編寫的,并提供了許多代碼以方便程序設(shè)計(jì)人員完成各種任務(wù),例如管理窗口、菜單和對(duì)話框,執(zhí)行基本輸入/輸出,存儲(chǔ)數(shù)據(jù)對(duì)象集合等。程序設(shè)計(jì)人員只須將自己要?jiǎng)?chuàng)建的應(yīng)用程序的相關(guān)代碼添加到這個(gè)框架中就可以完成相關(guān)功能。由于C+具有面向?qū)ο蟪绦蛟O(shè)計(jì)的性
2、質(zhì),所以可以容易地?cái)U(kuò)展或重寫MFC框架所提供的各種基本功能。MFC的優(yōu)點(diǎn)首先,MFC 縮短了開發(fā)時(shí)間,使代碼的可移植性更強(qiáng),并在提供了巨大程序設(shè)計(jì)支持的同時(shí)不降低編程的自由度和靈活性;其次,它使程序員可以輕松地使用一些通常認(rèn)為是很難掌握的用戶界面元素和技術(shù)(如 ActiveX 技術(shù)、OLE 和 Internet 編程);另外,MFC 簡(jiǎn)化了通過數(shù)據(jù)訪問對(duì)象 (DAO) 和開放式數(shù)據(jù)庫(kù)連接 (ODBC) 進(jìn)行的數(shù)據(jù)庫(kù)編程,以及通過 Windows 套接字進(jìn)行的網(wǎng)絡(luò)編程。MFC的功能MFC除了從根本上支持 Microsoft Windows 程序設(shè)計(jì)之外,還提供了許多專業(yè)化支持OLE、自動(dòng)化、Ac
3、tiveX 控件、Internet 程序設(shè)計(jì)、Windows 公共控件、DAO 數(shù)據(jù)庫(kù)程序設(shè)計(jì)、ODBC 數(shù)據(jù)庫(kù)程序設(shè)計(jì)、多線程程序設(shè)計(jì)、網(wǎng)絡(luò)程序設(shè)計(jì)、可移植性等。但是,MFC作為一種通用的編程框架,并不能預(yù)見每一位程序設(shè)計(jì)人員的每一個(gè)需求。因此,如果要使用MFC來生成符合特定需求的程序,還必須添加自己的代碼。另外,MFC并不是C+的運(yùn)行時(shí)庫(kù)。它不是通用函數(shù)庫(kù),也不能在另外的非 MFC 代碼中調(diào)用 MFC 類成員函數(shù)。如何使用 MFC在創(chuàng)建MFC應(yīng)用程序時(shí)可以使用Visual C+ .NET所提供的“MFC 應(yīng)用程序向?qū)А眮頌閼?yīng)用程序創(chuàng)建應(yīng)用程序框架,還可以根據(jù)要?jiǎng)?chuàng)建的應(yīng)用程序的特性修改向?qū)У?/p>
4、相應(yīng)選項(xiàng)。然后使用 Microsoft Visual C+ .NET提供的資源編輯器來以可視的方式設(shè)計(jì)用戶界面的各個(gè)元素,使用“類視圖”為這些元素添加相關(guān)代碼,并使用類庫(kù)實(shí)現(xiàn)應(yīng)用程序的特定邏輯Windows程序設(shè)計(jì)基礎(chǔ)創(chuàng)建一個(gè)最簡(jiǎn)單的Windows程序程序運(yùn)行流程分析框架窗口類文檔模板視圖類文檔/視圖結(jié)構(gòu)程序員的工作Windows程序設(shè)計(jì)基礎(chǔ)在MFC框架中,最重要的兩個(gè)概念就是文檔(Document)和視圖(View)。在使用MFC框架編寫Windows應(yīng)用程序時(shí),程序員最常編寫的部分就是文檔類和視圖類文檔和視圖把一個(gè)應(yīng)用分成文檔和視圖的結(jié)構(gòu)是基于MFC框架應(yīng)用程序的一個(gè)重要特征。它的實(shí)質(zhì)就是
5、將數(shù)據(jù)本身與用戶對(duì)數(shù)據(jù)的觀察和操作分離開來,所有的數(shù)據(jù)變化都在文檔類中進(jìn)行管理,同時(shí)為視圖的訪問提供一個(gè)接口。而視圖則調(diào)用這個(gè)接口來響應(yīng)用戶的操作,進(jìn)行數(shù)據(jù)修改,并不斷更新文檔的顯示。由此可知,允許一個(gè)文檔擁有多個(gè)視圖。創(chuàng)建一個(gè)最簡(jiǎn)單的Windows程序打開Microsoft Visual Studio .NET 2003,然后執(zhí)行“文件”|“新建”|“項(xiàng)目”命令,打開“新建項(xiàng)目”對(duì)話框。在這個(gè)對(duì)話框的左邊展開“Visual C+項(xiàng)目”節(jié)點(diǎn),選中MFC節(jié)點(diǎn),在右邊選擇“MFC應(yīng)用程序”,并在下面的兩個(gè)文本框中分別輸入要建立的應(yīng)用的名稱和希望放置應(yīng)用程序的路徑在設(shè)置完成之后,單擊“確定”按鈕,進(jìn)
6、入“MFC應(yīng)用程序向?qū)А薄?蚣艽翱陬怌MainFrame類是MFC為應(yīng)用程序的主框架窗口創(chuàng)建的派生的框架窗口類,它定義了應(yīng)用程序的界面特性,包括菜單、工具欄和狀態(tài)欄。如果應(yīng)用程序是單文檔的(稱為SDI),則CMainFrame 類從CFrameWnd 類派生;如果應(yīng)用程序是多文檔的(稱為MDI),則CMainFrame 類從CMDIFrameWnd 類派生。程序的執(zhí)行流程在BOOL CMyApp:InitInstance函數(shù)中會(huì)有一段代碼用于在創(chuàng)建一個(gè)新的運(yùn)行實(shí)例時(shí),讓系統(tǒng)根據(jù)文檔模板生成新的對(duì)象,包括CMainFrame對(duì)象、CMyDoc對(duì)象和CMyView對(duì)象。而CMainFrame對(duì)象就
7、是應(yīng)用的主框架窗體對(duì)象。由于CMyApp:InitInstance函數(shù)是在程序初始化的時(shí)候運(yùn)行的,所以所有的創(chuàng)建過程都會(huì)在程序初始化時(shí)完成。在創(chuàng)建CMainFrame對(duì)象時(shí),系統(tǒng)會(huì)向主框架窗口發(fā)一條WM_CREATE消息,要求創(chuàng)建主框架窗口,而主框架窗口會(huì)調(diào)用OnCreate函數(shù)來處理這個(gè)消息。OnCreate函數(shù)是CMainFrame定義的,作用是對(duì)主框架窗口進(jìn)行初始化。然后系統(tǒng)調(diào)用CWnd類定義的ShowWindow函數(shù),將主框架窗口顯示在屏幕上,此函數(shù)調(diào)用也是在CMyApp:InitInstance函數(shù)中實(shí)現(xiàn)的。文檔模板在10-01.cpp中定義的BOOL CMyApp:InitInst
8、ance函數(shù)中,有一段代碼用于使用文檔模板創(chuàng)建新的對(duì)象,這些對(duì)象包括CmainFrame, CmyDoc和CmyView 3個(gè)新的對(duì)象。 文檔類文檔是指一組數(shù)據(jù)的集合。在MFC中,文檔負(fù)責(zé)存儲(chǔ)數(shù)據(jù)和管理數(shù)據(jù)的打印,并可以協(xié)調(diào)和更新多個(gè)數(shù)據(jù)視圖。實(shí)現(xiàn)文檔操作的類是CDocument,它作為基類產(chǎn)生了很多的派生類用于實(shí)現(xiàn)文檔數(shù)據(jù)的讀寫操作。 視圖類視圖用于顯示數(shù)據(jù)并管理用戶與數(shù)據(jù)之間的交互,包括選擇和編輯。視圖負(fù)責(zé)在屏幕上顯示一個(gè)文檔,解釋用戶的輸入并對(duì)文檔進(jìn)行相應(yīng)的操作,還可以顯示圖像用以打印和打印預(yù)覽。MFC使用CView類來實(shí)現(xiàn)視圖。它的很多派生類支持不同類型的窗口。CScrollView可
9、以實(shí)現(xiàn)滾動(dòng)條CFormView可以實(shí)現(xiàn)表格CEditView可以實(shí)現(xiàn)文本編輯。文檔/視圖的核心CDocument類用于存儲(chǔ)或控制程序數(shù)據(jù),并為程序員定義的文檔類提供基本功能。CView類是程序員定義的視圖類的基類。視圖附加到文檔上用于在屏幕上呈現(xiàn)文檔的圖像,并將用戶輸入解釋為對(duì)文檔的操作。視圖還為打印和打印預(yù)覽呈現(xiàn)圖像。CframeWnd類用于在文檔的一個(gè)或多個(gè)視圖周圍提供框架。CDocTemplate(或 CsingleDocTemplate和CMultiDocTemplate)類負(fù)責(zé)協(xié)調(diào)給定類型的一個(gè)或多個(gè)現(xiàn)有文檔,并負(fù)責(zé)創(chuàng)建此類型的正確文檔、視圖和框架窗口對(duì)象。文檔和視圖之間的關(guān)系單文檔
10、應(yīng)用單文檔類型和多文檔類型消息驅(qū)動(dòng)創(chuàng)建Hello World程序單文檔類型和多文檔類型單文檔類型指在文檔上具有單個(gè)視圖,而且每個(gè)文檔只有一個(gè)框架窗口的文檔類型。多文檔類型則可以同時(shí)處理幾個(gè)不同的文檔。實(shí)現(xiàn)單文檔類型的界面稱為單文檔界面(SDI),這種應(yīng)用程序一次只允許打開一個(gè)窗口的實(shí)例。實(shí)現(xiàn)多文檔類型的界面稱為多文檔界面(MDI),這種應(yīng)用程序允許通打開一個(gè)窗口的多個(gè)實(shí)例。消息驅(qū)動(dòng)程序需要處理的消息Windows消息此類消息主要包括除了WM_COMMAND之外的以前綴 WM_開頭的消息。 控件通知指從控件和其他子窗口向自己的父窗口發(fā)送的 WM_COMMAND 通知消息。命令消息指用戶界面對(duì)象(菜單、工具欄按鈕和快捷鍵)發(fā)出的 WM_COMMAND 通知消息。創(chuàng)建Hello World程序現(xiàn)場(chǎng)創(chuàng)建講解創(chuàng)建一個(gè)簡(jiǎn)單的文本編輯器現(xiàn)場(chǎng)創(chuàng)建講解多文檔應(yīng)用MFC創(chuàng)建的MDI應(yīng)用程序的結(jié)構(gòu)增強(qiáng)文本編輯器的功能MF
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 揚(yáng)塵治理委托協(xié)議模板
- 2025年度文化創(chuàng)意產(chǎn)品開發(fā)合作協(xié)議范本3篇
- 2025版外債借款合同法律框架與政策背景分析3篇
- 2025年銷售薪資與銷售團(tuán)隊(duì)建設(shè)合同2篇
- 2025版押一付三車位租賃合同模板參考9篇
- 2025年高端住宅產(chǎn)權(quán)轉(zhuǎn)讓合同范本3篇
- 2025-2030全球熔鹽儲(chǔ)熱設(shè)備行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)實(shí)驗(yàn)室渦旋混合器行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025版投票權(quán)委托合同:股東權(quán)益保護(hù)專項(xiàng)3篇
- 2025年度綠色有機(jī)農(nóng)產(chǎn)品個(gè)人果園承包經(jīng)營(yíng)合同書4篇
- 2025年N1叉車司機(jī)考試試題(附答案)
- 《醫(yī)院財(cái)務(wù)分析報(bào)告》課件
- 2025老年公寓合同管理制度
- 2024年考研政治試題及答案
- 2024-2025學(xué)年人教版數(shù)學(xué)六年級(jí)上冊(cè) 期末綜合卷(含答案)
- 2024中國(guó)汽車后市場(chǎng)年度發(fā)展報(bào)告
- 感染性腹瀉的護(hù)理查房
- 天津市部分區(qū)2023-2024學(xué)年高二上學(xué)期期末考試 物理 含解析
- 《人工智能基礎(chǔ)》全套英語教學(xué)課件(共7章)
- GB/T 35613-2024綠色產(chǎn)品評(píng)價(jià)紙和紙制品
- 2022-2023學(xué)年五年級(jí)數(shù)學(xué)春季開學(xué)摸底考(四)蘇教版
評(píng)論
0/150
提交評(píng)論