MFC 基础知识:主对话框与子对话框(一)
来源:互联网 发布:h5微场景页面源码 编辑:程序博客网 时间:2024/04/29 15:25
(仅供使用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)
- MFC 基础知识:主对话框与子对话框(一)
- MFC 基础知识:主对话框与子对话框(二)
- MFC子对话框跟随主对话框移动
- MFC 子对话框调用父对话框的函数与变量
- MFC子对话框建立与关闭
- MFC 子对话框建立与关闭
- MFC子对话框建立与关闭
- MFC子对话框建立与关闭
- MFC 子对话框
- MFC 子对话框创建
- 基于对话框的MFC程序实现非模态对话框主对话框最小化时子对话框不最小化
- MFC 子对话框中得到主对话框指针
- MFC 子对话框中得到主对话框指针
- MFC在主对话框中显示子对话框
- 对话框基础知识(一)
- mfc 子对话框数据传给父对话框
- MFC对话框(一)
- MFC子对话框数据传父对话框(模式对话框)
- 失败的 Codeforce
- uestc oj 1828 中二少女与字符串
- oracle 11g PL/SQL Programming学习十
- uestc oj 1223 Islands
- JIRA 6.0.1 (ZIP Archive)最新破解方法,绝对可用
- MFC 基础知识:主对话框与子对话框(一)
- Codeforces Round #187 (Div. 2)
- Deep Learning(深度学习)学习笔记整理系列
- 迄今见过的最好的职业规划文章
- MFC 基础知识:主对话框与子对话框(二)
- http协议和web应用有状态和无状态辨析
- Content脚本与扩展的其他页面脚本的消息传递
- 高效学习有秘方
- php实战第十九天