您的位置:首页 > 其它

MFC 基础知识:主对话框与子对话框(一)

2013-06-08 02:21 169 查看
(仅供使用VS MFC初学者学习,高手莫见笑)

在MFC中通常会使用点击一个按钮,弹出一个子对话框的基础知识,这些都是学习MFC的基础知识,也是非常重要的知识,这里我就简单的讲讲这些知识。

一. 设置主对话框

1.文件-新建项目(我设置的过程名为:EditSet)-MFC应用程序-该页面使用“基于对话框”-完成即可.

2.在“资源视图”中打开Dialog对话框,删除“TODO:在此处放置对话框控件”和“确定”、“退出”按钮。

3.在工具箱中添加一个按钮Button控件和一个编辑框Edit Control控件。可右键控件设置其属性。其ID我使用的就是默认的:IDC_BUTTON1、IDC_EDIT1.其中设置按钮的Caption为“子对话框”,即是设置其名称。

4.运行其显示的结果如下图所示:



二. 设置子对话框

1.在“资源视图”中添加一个新的对话框。右键Dialog,选择“添加资源”;

2.在弹出的对话框中双击Dialog,即实现新建一个对话框。默认名字为IDD_DIALOG1;



3.在子对话框中添加一个编辑框Edit Control控件,它的默认名为IDC_EDIT1,但它对应的是子对话框的ID名。点击状态栏的“测试对话框”按钮,测试当前对话框运行后的样式。

三. 主对话框调用子对话框(重点)

1.双击主对话框中的“子对话框”按钮,即可生成它相应的按钮函数。在XXXDlg.cpp文件(XXX为创建工程的过程名)中生成一个函数。

voidCEditSetDlg::OnBnClickedButton1()

{

// TODO:在此添加控件通知处理程序代码

}
它表示点击该按钮就会执行相应函数中的响应操作。

2.双击IDD_DIALOG1子对话框的空白处,为该对话框创建一个对话框类。(也可打开类导向添加对话框类)

3.在弹出的“MFC添加类向导”中输入要添加类名(我常用C+XXX+Dlg命名对话框类),同时默认的基类为CDialogEx(扩展对话框类),并自动生成SubDlg.h\.cpp文件。



注意:VC6中默认Dialog的基类是CDialog,VS2012中Dialog基类默认选择是CDialogEx(Extend 扩展)。其中CDialogEx继承自CDialog,添加了一些功能:换背景图片、背景颜色。(后面还将设置子对话框的背景颜色)

4.在要调用该对话框的主对话框XXXDlg.cpp中引用子对话框类,即添加:

//引用子对话框类

#include"SubDlg.h"
5.在XXXDlg.cpp中生成的按钮函数OnBnClickedButton1()中添加调用子对话框的代码。

voidCEditSetDlg::OnBnClickedButton1()

{

//实例自定义的子对话框类dlg

CSubDlgdlg;

//设置子对话框背景颜色***
CDiologEx中

dlg.SetBackgroundColor(RGB(255,255,0));

//DoModal点击按钮显示相应对话框

if(dlg.DoModal()==IDOK)

{ }

}
6.运行如下图:当点击主对话框的“子对话框”按钮时,显示一个***背景的子对话框。



这样主对话框调用子对话框的基本步骤就实现了,上图中***的及为子对话框,当点击按钮后会弹出该对话框.希望大家能了解MFC的这一基础知识,同时下面这个博客中介绍了主对话框调用子对话框的几个步骤,方便大家学习:

http://blog.21ic.com/user1/7447/archives/2011/83411.html

这里要感谢很多博客,它们让我学到了很多知识,最后高手莫见笑,希望能帮助到大家吧!若有错误见谅.

(2013-6-8 夜2点 By:Eastmount)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: