MFC 基础知识:主对话框与子对话框(一)
(僅供使用VS MFC初學(xué)者學(xué)習(xí),高手莫見笑)
在MFC中通常會使用點擊一個按鈕,彈出一個子對話框的基礎(chǔ)知識,這些都是學(xué)習(xí)MFC的基礎(chǔ)知識,也是非常重要的知識,這里我就簡單的講講這些知識。
一. 設(shè)置主對話框
1.文件-新建項目(我設(shè)置的過程名為:EditSet)-MFC應(yīng)用程序-該頁面使用“基于對話框”-完成即可.
2.在“資源視圖”中打開Dialog對話框,刪除“TODO:在此處放置對話框控件”和“確定”、“退出”按鈕。
3.在工具箱中添加一個按鈕Button控件和一個編輯框Edit Control控件。可右鍵控件設(shè)置其屬性。其ID我使用的就是默認的:IDC_BUTTON1、IDC_EDIT1.其中設(shè)置按鈕的Caption為“子對話框”,即是設(shè)置其名稱。
4.運行其顯示的結(jié)果如下圖所示:
二. 設(shè)置子對話框
1.在“資源視圖”中添加一個新的對話框。右鍵Dialog,選擇“添加資源”;
2.在彈出的對話框中雙擊Dialog,即實現(xiàn)新建一個對話框。默認名字為IDD_DIALOG1;
3.在子對話框中添加一個編輯框Edit Control控件,它的默認名為IDC_EDIT1,但它對應(yīng)的是子對話框的ID名。點擊狀態(tài)欄的“測試對話框”按鈕,測試當(dāng)前對話框運行后的樣式。
三. 主對話框調(diào)用子對話框(重點)
1.雙擊主對話框中的“子對話框”按鈕,即可生成它相應(yīng)的按鈕函數(shù)。在XXXDlg.cpp文件(XXX為創(chuàng)建工程的過程名)中生成一個函數(shù)。
voidCEditSetDlg::OnBnClickedButton1()
{
? ??// TODO:在此添加控件通知處理程序代碼
}
它表示點擊該按鈕就會執(zhí)行相應(yīng)函數(shù)中的響應(yīng)操作。
2.雙擊IDD_DIALOG1子對話框的空白處,為該對話框創(chuàng)建一個對話框類。(也可打開類導(dǎo)向添加對話框類)
3.在彈出的“MFC添加類向?qū)А敝休斎胍砑宇惷?#xff08;我常用C+XXX+Dlg命名對話框類),同時默認的基類為CDialogEx(擴展對話框類),并自動生成SubDlg.h\.cpp文件。
注意:VC6中默認Dialog的基類是CDialog,VS2012中Dialog基類默認選擇是CDialogEx(Extend 擴展)。其中CDialogEx繼承自CDialog,添加了一些功能:換背景圖片、背景顏色。(后面還將設(shè)置子對話框的背景顏色)
4.在要調(diào)用該對話框的主對話框XXXDlg.cpp中引用子對話框類,即添加:
//引用子對話框類
#include"SubDlg.h"
5.在XXXDlg.cpp中生成的按鈕函數(shù)OnBnClickedButton1()中添加調(diào)用子對話框的代碼。
voidCEditSetDlg::OnBnClickedButton1()
{
? ??//實例自定義的子對話框類dlg
? ??CSubDlgdlg;
? ??//設(shè)置子對話框背景顏色黃色 CDiologEx中
? ??dlg.SetBackgroundColor(RGB(255,255,0));
? ??//DoModal點擊按鈕顯示相應(yīng)對話框
? ??if(dlg.DoModal()==IDOK)
? ??{?}
}
6.運行如下圖:當(dāng)點擊主對話框的“子對話框”按鈕時,顯示一個黃色背景的子對話框。
這樣主對話框調(diào)用子對話框的基本步驟就實現(xiàn)了,上圖中黃色的及為子對話框,當(dāng)點擊按鈕后會彈出該對話框.希望大家能了解MFC的這一基礎(chǔ)知識,同時下面這個博客中介紹了主對話框調(diào)用子對話框的幾個步驟,方便大家學(xué)習(xí):
http://blog.21ic.com/user1/7447/archives/2011/83411.html
這里要感謝很多博客,它們讓我學(xué)到了很多知識,最后高手莫見笑,希望能幫助到大家吧!若有錯誤見諒.
(2013-6-8 夜2點 By:Eastmount)
?
?
總結(jié)
以上是生活随笔為你收集整理的MFC 基础知识:主对话框与子对话框(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MFC Edit控件 error:“DD
- 下一篇: MFC 基础知识:主对话框与子对话框(二