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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第5章對話框應用程序

5.1構建對話框應用程序

下面以“構建對話框應用程序”為例來介紹一個真正的可視化MFC應用程序,其具體操作步驟如下。

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

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

在列表中選擇MFCAppWizard[exe]項,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

對話框可以分為模態(tài)對話框和非模態(tài)對話框兩大類,區(qū)別是:在模態(tài)對話框關閉之前,用戶不能再進行其他操作,而非模態(tài)對話框在運行的同時,用戶還可以在應用程序的其他窗口中進行工作。1.模態(tài)對話框

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

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

非模態(tài)對話框類似于普通的窗口,在顯示時不會影響其他線程處理消息。(1)Create方法(2)DestroyWindow方法語法:virtualBOOLDestroyWindow();(3)ShowWindow函數語法:BOOLShowWindow(intnCmdShow);5.2.3設置對話框屬性1.General選項卡圖5.11General選項卡2.Styles選項卡圖5.12Styles選項卡3.MoreStyles選項卡圖5.13MoreStyles選項卡4.ExtendedStyles選項卡圖5.14ExtendedStyles選項卡5.3對話框中控件的操作5.3.1操作控件1.添加控件(1)鼠標拖動的方法(2)鼠標單擊的方法圖5.15選擇控件圖5.16添加控件圖5.17單擊控件圖5.18添加的控件2.選擇控件(1)選擇一個控件

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

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

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

(1)單擊菜單欄中的“View”/“ClassWizard…”命令,打開MFCClassWizard窗口,并選擇MemberVariables選項卡,如圖5.35所示。圖5.35類向導

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

(3)單擊OK按鈕并返回MFCClassWizard窗口,如圖5.37所示。圖5.37類向導(4)此時在ControlIDs列表框中出現IDC_EDIT1變量的屬性介紹和說明。(5)單擊OK按鈕即可完成變量的添加。5.3.3控件的子類化圖5.38類向導圖5.39AddMemberVariable對話框圖5.40類向導5.4添加數據成員和成員函數5.4.1添加普通的數據成員1.以手工方式添加數據成員圖5.41手工添加數據成員2.以向導方式添加數據成員圖5.42添加數據成員窗口5.4.2添加普通的成員函數1.以手工方式添加成員函數

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

(2)然后在對話框的源文件中添加函數的定義。2.以向導方式添加成員函數

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

通常,可以利用類向導編寫控件的消息處理函數。

按〈Ctrl+W〉快捷鍵,打開MFCClassWizard窗口,選擇MessageMaps選項卡,如圖5.44所示。圖5.44MFCClassWizard窗

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論