第5章 對(duì)話框應(yīng)用程序_第1頁(yè)
第5章 對(duì)話框應(yīng)用程序_第2頁(yè)
第5章 對(duì)話框應(yīng)用程序_第3頁(yè)
第5章 對(duì)話框應(yīng)用程序_第4頁(yè)
第5章 對(duì)話框應(yīng)用程序_第5頁(yè)
已閱讀5頁(yè),還剩81頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第5章對(duì)話框應(yīng)用程序

5.1構(gòu)建對(duì)話框應(yīng)用程序

下面以“構(gòu)建對(duì)話框應(yīng)用程序”為例來(lái)介紹一個(gè)真正的可視化MFC應(yīng)用程序,其具體操作步驟如下。

(1)啟動(dòng)VisualC++6.0集成開(kāi)發(fā)環(huán)境,單擊菜單欄中的“File”/“New”命令,打開(kāi)New窗口。

(2)在New窗口中選擇Projects選項(xiàng)卡,

在列表中選擇MFCAppWizard[exe]項(xiàng),

在Projectname文本框中輸入工程名Hello,在Location文本框中設(shè)置工程文件存放的

位置為“D:\Hello”,如圖5.1所示。圖5.1New窗口

(3)單擊OK按鈕,彈出MFCAppWizard-Step1窗口,如圖5.2所示。

在“MFCAppWizard-Step1”窗口中可以設(shè)定以下3種類(lèi)型的程序。圖5.2MFCAppWizard-Step1窗口SingledocumentMultipledocumentsDialogbased

(4)這里選擇Dialogbased單選項(xiàng),單擊Next按鈕,打開(kāi)MFCAppWizard-Step2of4窗口,如圖5.3所示。圖5.3MFCAppWizard-Step2of4窗口

(5)單擊Next按鈕,打開(kāi)MFCAppWizard-Step3of4窗口,如圖5.4所示。圖5.4MFCAppWizard-Step3of4窗口

(6)單擊Next按鈕,打開(kāi)MFCAppWizard-Step4of4窗口,如圖5.5所示。圖5.5MFCAppWizard-Step4of4窗口

(7)在MFCAppWizard-Step4of4窗口中確定類(lèi)的名稱(chēng)及所在文件的名稱(chēng),單擊Finish按鈕,打開(kāi)NewProjectInformation窗口,如圖5.6所示。圖5.6NewProjectInformation窗口

(8)在NewProjectInformation窗口中顯示將要?jiǎng)?chuàng)建的文件清單,單擊OK按鈕完成對(duì)話框應(yīng)用程序的創(chuàng)建。5.2對(duì)話框的操作5.2.1創(chuàng)建對(duì)話框VisualC++默認(rèn)只顯示一個(gè)對(duì)話框,而在實(shí)際應(yīng)用中常常需要顯示多個(gè)對(duì)話框,此時(shí)可以創(chuàng)建新的對(duì)話框。

(1)創(chuàng)建一個(gè)對(duì)話框資源。選擇資源視圖

(ResourceView)選項(xiàng)卡,如圖5.7所示。圖5.7資源視圖窗口

(2)鼠標(biāo)右鍵單擊Dialog節(jié)點(diǎn),在彈出的快捷菜單中選擇InsertDialog菜單項(xiàng),將創(chuàng)建一個(gè)對(duì)話框資源,如圖5.8所示。圖5.8新建對(duì)話框資源

(3)為對(duì)話框資源創(chuàng)建一個(gè)類(lèi)。在對(duì)話框資源窗口中單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇ClassWizard命令,系統(tǒng)將打開(kāi)如圖5.9所示的窗口。圖5.9AddingaClass窗口

(4)在AddingaClass窗口可為對(duì)話框選擇或新建一個(gè)類(lèi)。這里選擇Createanewclass選項(xiàng),單擊OK按鈕,打開(kāi)NewClass窗口,在Name文本框中輸入類(lèi)名“ttemp”,如圖5.10所示。圖5.10NewClass窗口(5)單擊OK按鈕打開(kāi)MFCClassWizard窗口,此時(shí)該窗口已經(jīng)為新建的對(duì)話框創(chuàng)建了一個(gè)新類(lèi)。(6)單擊OK按鈕完成對(duì)話框的創(chuàng)建。5.2.2顯示對(duì)話框

對(duì)話框可以分為模態(tài)對(duì)話框和非模態(tài)對(duì)話框兩大類(lèi),區(qū)別是:在模態(tài)對(duì)話框關(guān)閉之前,用戶(hù)不能再進(jìn)行其他操作,而非模態(tài)對(duì)話框在運(yùn)行的同時(shí),用戶(hù)還可以在應(yīng)用程序的其他窗口中進(jìn)行工作。1.模態(tài)對(duì)話框

模態(tài)對(duì)話框顯示時(shí),將阻塞主線程的執(zhí)行,直到對(duì)話框被關(guān)閉。

首先為模態(tài)對(duì)話框聲明一個(gè)對(duì)象,然后調(diào)用該對(duì)象的DoModal方法進(jìn)行顯示,要關(guān)閉模態(tài)對(duì)話框可以調(diào)用CDialog類(lèi)的OnOK方法或OnCancel方法。(1)DoModal方法語(yǔ)法:virtualintDoModal();(2)OnOK方法語(yǔ)法:virtualvoidOnOK();(3)OnCancel方法語(yǔ)法:virtualvoidOnCancel();2.非模態(tài)對(duì)話框

非模態(tài)對(duì)話框類(lèi)似于普通的窗口,在顯示時(shí)不會(huì)影響其他線程處理消息。(1)Create方法(2)DestroyWindow方法語(yǔ)法:virtualBOOLDestroyWindow();(3)ShowWindow函數(shù)語(yǔ)法:BOOLShowWindow(intnCmdShow);5.2.3設(shè)置對(duì)話框?qū)傩?.General選項(xiàng)卡圖5.11General選項(xiàng)卡2.Styles選項(xiàng)卡圖5.12Styles選項(xiàng)卡3.MoreStyles選項(xiàng)卡圖5.13MoreStyles選項(xiàng)卡4.ExtendedStyles選項(xiàng)卡圖5.14ExtendedStyles選項(xiàng)卡5.3對(duì)話框中控件的操作5.3.1操作控件1.添加控件(1)鼠標(biāo)拖動(dòng)的方法(2)鼠標(biāo)單擊的方法圖5.15選擇控件圖5.16添加控件圖5.17單擊控件圖5.18添加的控件2.選擇控件(1)選擇一個(gè)控件

在對(duì)話框中,直接單擊需要選擇的控件即可。(2)選擇不連續(xù)的多個(gè)控件

在對(duì)話框中,按<Shift>鍵或<Ctrl>鍵,然后選擇需要的控件即可。(3)選擇連續(xù)的多個(gè)控件在對(duì)話框中,單擊鼠標(biāo)左鍵并拖動(dòng)鼠標(biāo)至一個(gè)區(qū)域,然后釋放鼠標(biāo),此時(shí),區(qū)域中的控件被選中。3.復(fù)制控件(1)選擇需要復(fù)制的控件,然后按<Ctrl+C>快捷鍵將該控件復(fù)制到剪貼板中。(2)按<Ctrl+V>快捷鍵將剪貼板中的控件復(fù)制到對(duì)話框中即可。4.刪除控件

只需選擇需要?jiǎng)h除的控件,然后按<Delete>鍵即可。5.對(duì)齊控件(1)Align菜單LeftHorizCenterRightTopVertCenterBottom圖5.19對(duì)齊前的界面圖5.20對(duì)齊后的界面圖5.21對(duì)齊前的界面圖5.22對(duì)齊后的界面圖5.23對(duì)齊前的界面圖5.24對(duì)齊后的界面圖5.25對(duì)齊前的界面圖5.26對(duì)齊后的界面圖5.27對(duì)齊前的界面圖5.28對(duì)齊后的界面圖5.29對(duì)齊前的界面圖5.30對(duì)齊后的界面(2)SpaceEvenly菜單AcrossDown圖5.31對(duì)齊前的界面圖5.32對(duì)齊后的界面圖5.33對(duì)齊前的界面圖5.34對(duì)齊后的界面5.3.2添加控件成員變量

(1)單擊菜單欄中的“View”/“ClassWizard…”命令,打開(kāi)MFCClassWizard窗口,并選擇MemberVariables選項(xiàng)卡,如圖5.35所示。圖5.35類(lèi)向?qū)?/p>

(2)單擊AddVariable按鈕,打開(kāi)AddMemberVariable窗口,在該窗口中為控件添加變量。在Membervariablename文本框中為變量命名;在Category下拉列表和Variabletype下拉列表中為變量選擇類(lèi)型,如圖5.36所示。圖5.36AddMemberVariable對(duì)話框

(3)單擊OK按鈕并返回MFCClassWizard窗口,如圖5.37所示。圖5.37類(lèi)向?qū)В?)此時(shí)在ControlIDs列表框中出現(xiàn)IDC_EDIT1變量的屬性介紹和說(shuō)明。(5)單擊OK按鈕即可完成變量的添加。5.3.3控件的子類(lèi)化圖5.38類(lèi)向?qū)D5.39AddMemberVariable對(duì)話框圖5.40類(lèi)向?qū)?.4添加數(shù)據(jù)成員和成員函數(shù)5.4.1添加普通的數(shù)據(jù)成員1.以手工方式添加數(shù)據(jù)成員圖5.41手工添加數(shù)據(jù)成員2.以向?qū)Х绞教砑訑?shù)據(jù)成員圖5.42添加數(shù)據(jù)成員窗口5.4.2添加普通的成員函數(shù)1.以手工方式添加成員函數(shù)

(1)首先在對(duì)話框的頭文件中聲明要添加的函數(shù)。

(2)然后在對(duì)話框的源文件中添加函數(shù)的定義。2.以向?qū)Х绞教砑映蓡T函數(shù)

在工作區(qū)的類(lèi)視圖窗口中,鼠標(biāo)右鍵單擊對(duì)話框類(lèi),在彈出的快捷菜單中選擇AddMemberFunction命令,將會(huì)打開(kāi)添加成員函數(shù)窗口,如圖5.43所示。圖5.43添加成員函數(shù)窗口5.4.3添加消息處理函數(shù)

通常,可以利用類(lèi)向?qū)Ь帉?xiě)控件的消息處理函數(shù)。

按〈Ctrl+W〉快捷鍵,打開(kāi)MFCClassWizard窗口,選擇MessageMaps選項(xiàng)卡,如圖5.44所示。圖5.44MFCClassWizard窗

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論