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