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

简介:

(仅供使用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)

 


目录
相关文章
|
4月前
[MFC] A对话框调用B对话框
[MFC] A对话框调用B对话框
17 0
|
10月前
|
程序员 Windows
【windows编程之对话框】对话框原理,对话框的创建
【windows编程之对话框】对话框原理,对话框的创建
|
测试技术 BI 区块链
MFC——对话框的创建及使用(上)
MFC——对话框的创建及使用
948 0
MFC——对话框的创建及使用(上)
|
数据安全/隐私保护
MFC——对话框的创建及使用(下)
MFC——对话框的创建及使用
197 0
MFC——对话框的创建及使用(下)
|
前端开发
前端工作小结88-定义有对话框的按钮
前端工作小结88-定义有对话框的按钮
67 0
QT应用编程: QGraphicsTextItem单击选中、双击进入编辑状态
QT应用编程: QGraphicsTextItem单击选中、双击进入编辑状态
551 0
QT应用编程: QGraphicsTextItem单击选中、双击进入编辑状态
|
测试技术
MFC中为菜单或按钮添加快捷键功能
1、新建一快捷键资源,ACCELERATOR,关联相应的ID号,下图所示中,其中,第一个ID为自定义快捷键ID,按CTRL+R,此时响应该ID以应的消息响应函数, 第二个ID为菜单ID,此时按CTRL+V,调出ID_NETWORK_PING菜单对应的响应函数。
1315 0
|
区块链
MFC创建单文档工程(左上角名称前的mfc图标修改为其他需求图标)
资源视图——VT_Ards.rc——右键选择添加资源,选择menu,然后导入 (提前最好把ico图标放到工程文件下的res文件夹下) 图标属性ID为:IDR_MAINFRAME ...
1428 0