?? 07.2.1 模態(tài)對話框的創(chuàng)建.txt
字號:
7.2 對話框的創(chuàng)建和顯示 220
7.2.1 模態(tài)對話框的創(chuàng)建 224
首先實現(xiàn)模態(tài)對話框的創(chuàng)建。創(chuàng)建模態(tài)對話框需要調(diào)用 CDialog類的成員函數(shù): DoModal,該函數(shù)的功能就是創(chuàng)建并顯示一個模態(tài)對話框,其返回值將作為 CDialog類的另一個成員函數(shù): EndDialog的參數(shù),后者的功能就是關閉模態(tài)對話框。例 7-4就是顯示模態(tài)對話框的具體實現(xiàn)代碼。
例7-4
void CMyboleView: :OnDialog()
// TODO: Add your command handler code here
CTestDlg dlg;
dlg.DoModal();
上述代碼中,首先定義一個對話框?qū)ο? dlg,然后利用這個對象調(diào)用 DoModal函數(shù)以產(chǎn)生一個模態(tài)對話框。另外,在視類中并不知道這個CTestDlg對話框是什么樣的數(shù)據(jù)類型,所以還必須在視類的源文件中包含這個CTestDlg類的頭文件,結果如例7-5所示,其
中加灰顯示的那行代碼就是需要添加的內(nèi)容。
#include "stdafx. h "
#In clude "Mybole . h "
#include "MyboleDoc . h "
#include "MyboleVIew.h"
#include "TEXTDLG.h"
Build井運行 Mybole程序,單擊程序菜單欄上的【對話框】菜單,即可彈出先前創(chuàng)建的那個測試對話框窗口,如圖 7.10所示。這時,讀者可以試著單擊程序菜單欄上的菜單,將會發(fā)現(xiàn)不能進行單擊操作。這是因為當 Mybole程序執(zhí)行到 CMyboleView類 OnDialog函數(shù)中的 DoModal這行代碼時,它就會停在這行代碼處,不再向下執(zhí)行。只有這個模態(tài)對話框被關閉了之后,這行代碼才會返回,程序才能繼續(xù)執(zhí)行。
圖 7.10模態(tài)對話框的顯示
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -