




版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 臨時(shí)保安合同范本
- 人才引進(jìn)聘用合同范本
- 2025年西藏貨運(yùn)從業(yè)資格證考試模擬考試題目答案
- 專(zhuān)業(yè)購(gòu)銷(xiāo)合同范本
- 個(gè)人雇傭老師合同范本
- 加工木料供貨合同范本
- 辦公區(qū)花卉租賃合同范本
- 冰淇淋原材料采購(gòu)合同范本
- 儀器外借合同范本
- 公交駕校培訓(xùn)合同范本
- 全腦血管造影術(shù)的護(hù)理查房
- 直系親屬股權(quán)無(wú)償轉(zhuǎn)讓合同(2篇)
- 2025年四年級(jí)下學(xué)期語(yǔ)文教學(xué)計(jì)劃
- 學(xué)習(xí)弘揚(yáng)紅船精神課件
- 消防工程施工組織設(shè)計(jì)方案
- 敦刻爾克大撤退課件
- 農(nóng)藥殘留監(jiān)測(cè)
- 新生兒敗血癥(共22張課件)
- 頌缽療愈師培訓(xùn)
- 2025蛇年春節(jié)習(xí)俗大賞體驗(yàn)感受家的溫馨課件
- 投資居間協(xié)議合同模板
評(píng)論
0/150
提交評(píng)論