VisualC++程序設(shè)計(jì)培訓(xùn)教程 第6課 MFC基礎(chǔ)_第1頁
VisualC++程序設(shè)計(jì)培訓(xùn)教程 第6課 MFC基礎(chǔ)_第2頁
VisualC++程序設(shè)計(jì)培訓(xùn)教程 第6課 MFC基礎(chǔ)_第3頁
VisualC++程序設(shè)計(jì)培訓(xùn)教程 第6課 MFC基礎(chǔ)_第4頁
VisualC++程序設(shè)計(jì)培訓(xùn)教程 第6課 MFC基礎(chǔ)_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

第6課MFC基礎(chǔ)?本課要點(diǎn)?具體要求?本課導(dǎo)讀?上機(jī)練習(xí)程序設(shè)計(jì)培訓(xùn)教Visual-C+>程序設(shè)計(jì)培訓(xùn)教程?MFC的概念?MFC的層次結(jié)構(gòu)及常用類?MFC消息與消息處理本課要點(diǎn)具體要求Visual-C+>程序設(shè)計(jì)培訓(xùn)教程?了解MFC的概念及層次結(jié)構(gòu)?熟悉MFC的常用類?了解MFC中消息與消息處理的概念?掌握MFC中的消息處理機(jī)制本課導(dǎo)讀前面主要講解的是Win32控制臺(tái)應(yīng)用程序,從這一課開始講解Win32窗口界面應(yīng)用程序設(shè)計(jì),即可視化(Visual)的程序設(shè)計(jì)方式。因此,從這一課開始就進(jìn)入到VisualC++的程序設(shè)計(jì)當(dāng)中,MFC類庫(kù)、MFC消息處理機(jī)制以及向?qū)Чぞ呤沟每梢暬某绦蛟O(shè)計(jì)變得方便、簡(jiǎn)單。程序設(shè)計(jì)培訓(xùn)教6.1MFC概述Visual-C+>程序設(shè)計(jì)培訓(xùn)教程MFC是一個(gè)功能強(qiáng)大的框架類庫(kù),其中包括了創(chuàng)建各種窗口界面應(yīng)用程序(如對(duì)話框、單文檔、多文檔等)所需的基礎(chǔ)類。6.1MFC概述Visual-C+>程序設(shè)計(jì)培訓(xùn)教程6.1.1知識(shí)講解6.1.2典型案例——用MFCAppWizard創(chuàng)建一6.1.1知識(shí)講解OVisual-C+>程序設(shè)計(jì)培訓(xùn)教程MFC—共有200多個(gè)類,是一個(gè)繼承方式的層次結(jié)構(gòu),下面對(duì)其相關(guān)知識(shí)進(jìn)行介紹6.1.1知識(shí)講解MFC的概念MFC的層次結(jié)構(gòu)MFC的常用類程序設(shè)計(jì)培訓(xùn)教1.MFC的概念I(lǐng)Visual-C+>程序設(shè)計(jì)培訓(xùn)教程MFC是MicrosoftFoundationClass(微軟基礎(chǔ)類)的簡(jiǎn)稱,MFC類封裝了Win32應(yīng)用程序編程接口復(fù)雜的API函數(shù)(或SDK工具包),它的目的就是讓程序員在此基礎(chǔ)上方便地創(chuàng)建各種Windows應(yīng)用程序。MFC系統(tǒng)地封裝了Win32API、OLEAPI以及ODBCAPI等底層函數(shù)的功能,它不僅提供了更高一層的編程接口,而且還支持對(duì)底層API函數(shù)的直接調(diào)用,因此在簡(jiǎn)化Windows應(yīng)用程序編程的同時(shí)也注重了其編程設(shè)計(jì)的靈活性。2.MFC的層次結(jié)構(gòu)Visual-C+>程序設(shè)計(jì)培訓(xùn)教程MFC類庫(kù)是一個(gè)繼承關(guān)系的層次結(jié)構(gòu),MFC首先抽象出了一般Windows應(yīng)用程序所需功能類的共同特性,然后再在此基礎(chǔ)上設(shè)計(jì)出一些基類作為其他類的基礎(chǔ)。3.MFC的常用類oIVisual-C+>程序設(shè)計(jì)培訓(xùn)教程使用MFC建立的Windows應(yīng)用程序,如對(duì)話框應(yīng)用程序、單文檔應(yīng)用程序、多文檔應(yīng)用程序等,都必須用到一些類作為基類派生出相應(yīng)的應(yīng)用程序各部分框架的類,主要包括應(yīng)用程序類、框架窗口類、視圖類、對(duì)話框類、文檔類以及文檔模板類等Visual-C+>程序設(shè)計(jì)培訓(xùn)教程6.1.2典型案例——用MFCAppWizard創(chuàng)建一個(gè)對(duì)話框應(yīng)用程序?案例目標(biāo)MFCAppWizard是創(chuàng)建MFC應(yīng)用程序向?qū)?,利用該向?qū)Э梢宰屜到y(tǒng)自動(dòng)生成應(yīng)用程序所需的框架類,并為它們建立好相互之間的聯(lián)系。本案例將練習(xí)使用MFCAppWizard創(chuàng)建一個(gè)對(duì)話框應(yīng)用程序,并在對(duì)話框客戶區(qū)輸出“Hello,VisualC++!”文本。6.1.2典型案例——用MFCAppWizard創(chuàng)建一個(gè)對(duì)話框應(yīng)用程序?編程思路(1)于MFC類可以創(chuàng)建單文檔應(yīng)用程序、對(duì)話框應(yīng)用程序以及多文檔應(yīng)用程序,因?yàn)楸景咐齽?chuàng)建的是對(duì)話框應(yīng)用程序,所以應(yīng)在有關(guān)步驟中選擇基于對(duì)話框的應(yīng)用程序。(2)在對(duì)話框客戶區(qū)輸出文本可以在函數(shù)OnPaint中實(shí)現(xiàn),函數(shù)OnPaint的作用是負(fù)責(zé)應(yīng)用程序客戶區(qū)或視圖區(qū)中有關(guān)文本或圖像的繪制或重繪工作。程序設(shè)計(jì)培訓(xùn)教Visual-C+>程序設(shè)計(jì)培訓(xùn)教程6.1.2典型案例——用MFCAppWizard創(chuàng)建一個(gè)對(duì)話框應(yīng)用程序?操作步驟具體步驟請(qǐng)參見圖書內(nèi)容。6.1.2典型案例——用MFCAppWizard創(chuàng)建一個(gè)對(duì)話框應(yīng)用程序?案例小結(jié)本案例練習(xí)了利用MFC應(yīng)用程序向?qū)?chuàng)建了一個(gè)基本對(duì)話框的應(yīng)用程序,在對(duì)話框中輸出文本,并詳細(xì)地介紹了對(duì)話框應(yīng)用程序的創(chuàng)建步驟,為以后的學(xué)習(xí)打下了必要的基礎(chǔ)。程序設(shè)計(jì)培訓(xùn)教6.2MFC消息與消息處理Visual-C+>程序設(shè)計(jì)培訓(xùn)教程Windows應(yīng)用程序是一種基于消息驅(qū)動(dòng)的設(shè)計(jì)模式,即其是圍繞著消息與消息處理來調(diào)用或?qū)崿F(xiàn)程序的功能的。6.2MFC消息與消息處理Visual-C+>程序設(shè)計(jì)培訓(xùn)教程6.2.1知識(shí)講解6.2.2典型案例——按下鼠標(biāo)左鍵的消息響應(yīng)6.2.1知識(shí)講解Visual-C+>程序設(shè)計(jì)培訓(xùn)教程消息與消息處理是可視化程序設(shè)計(jì)的一個(gè)核心概念與機(jī)制,下面分別對(duì)它們進(jìn)行講解。6.2.1知識(shí)講解消息與消息處理的概念MFC消息分類MFC消息處理機(jī)制建立消息映射向?qū)Чぞ叱绦蛟O(shè)計(jì)培訓(xùn)教程1.消息與消息處理的概念消息實(shí)際上指的就是一種信號(hào),而對(duì)這種信號(hào)的反應(yīng)或處理就是消息處理。消息處理總是處于消息產(chǎn)生之后產(chǎn)生,即沒有消息就沒有消息處理。在Windows應(yīng)用程序中,消息被定義為一個(gè)結(jié)構(gòu)體,MFC中保留了API中對(duì)Windows消息的定義方式。程序設(shè)計(jì)培訓(xùn)教2.

MFC消息分類在MFCWindows應(yīng)用程序中,消息都是以大寫字母書寫的形式,MFC消息一般可分為3種:標(biāo)準(zhǔn)消息、命令消息以及控件通告消息。程序設(shè)計(jì)培訓(xùn)教程3.

MFC消息處理機(jī)制Windows應(yīng)用程序中的消息被列入一個(gè)消息隊(duì)列中等待被調(diào)用,而系統(tǒng)是通過一個(gè)while循環(huán)的方式調(diào)用消息的,這個(gè)while循環(huán)一直不斷運(yùn)行從而不斷地從消息隊(duì)列中調(diào)用消息,直到遇到程序退出的消息(如:WM_QUIT)才終止消息循環(huán),退出應(yīng)用程序。程序設(shè)計(jì)培訓(xùn)教建立消息映射就是在程序中使用消息處理機(jī)制,建立消息與消息處理函數(shù)之間的對(duì)應(yīng)關(guān)系。程序設(shè)計(jì)培訓(xùn)教程5.向?qū)Чぞ遃isualC++6.0提供了多種向?qū)Чぞ咭酝瓿勺詣?dòng)生成代碼的功能,如ClassWizard類向?qū)А⑻砑酉⑻幚硐驅(qū)У?,使用向?qū)Э梢宰尦绦蜃詣?dòng)地生成消息映射、添加新類以及添加成員變量等所需的代碼,而不需要用戶手工添加,提高了編程效率。程序設(shè)計(jì)培訓(xùn)教6-2-2典囍嚮消息響薔下鼠標(biāo)左?案例目標(biāo)本案例將在對(duì)話框應(yīng)用程序中處理鼠標(biāo)左鍵的按下消息,當(dāng)在對(duì)話框的客戶區(qū)按下鼠標(biāo)左鍵時(shí)彈出一個(gè)消息對(duì)話框。程序設(shè)計(jì)培訓(xùn)教程IVisual-C+>程序設(shè)計(jì)培訓(xùn)教程6.2.2典型案例——按下鼠標(biāo)左鍵的消息響應(yīng)?編程思路(1)用AfxMessageBox函數(shù)來生成消息對(duì)話框。(2)按下鼠標(biāo)左鍵對(duì)應(yīng)的消息是WM_LBUTTONDOWN,其消息映射對(duì)應(yīng)的宏為ON_WM_LBUTTONDOWN。(3)創(chuàng)建MFC對(duì)話框應(yīng)用程序的具體步驟可參考實(shí)例6.1.2。Visual-C+>程序設(shè)計(jì)培訓(xùn)教程6.2.2典型案例——按下鼠標(biāo)左鍵的消息響應(yīng)?操作步驟請(qǐng)參閱圖書中的相應(yīng)內(nèi)容。6.2.2典型案例——按下鼠標(biāo)左鍵的消息響應(yīng)?案例小結(jié)本案例練習(xí)了按下鼠標(biāo)左鍵的消息響應(yīng),并使用MFC的向?qū)Чぞ邽閼?yīng)用程序自動(dòng)添加消息與消息處理函數(shù)所需的框架代碼,避免了手工添加代碼的麻煩。消息處理機(jī)制是MFC應(yīng)用程序中最核心的機(jī)制,希望用戶認(rèn)真弄清消息與消息處理的概念,多上機(jī)練習(xí)實(shí)踐。程序設(shè)計(jì)培訓(xùn)教6.3上機(jī)練習(xí)Visual-C+>程序設(shè)計(jì)培訓(xùn)教程6.3.1在對(duì)話框中實(shí)現(xiàn)多行輸出文本6.3.2按下鼠標(biāo)右鍵的消息響應(yīng)6.3]在對(duì)話文本實(shí)現(xiàn)多行輸出本次練習(xí)使用MFCAppWizard工程向?qū)?chuàng)建一個(gè)對(duì)話框應(yīng)用程序,并在其客戶區(qū)輸出字符串“白日依山盡,黃河入海流。欲窮千里目,

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論