019.MFC_两种对话框
对话框分为模态和非模态对话框两种
模态对话框(Modal)
d.DoModal()
必须关闭才能返回主窗口
非模态对话框(Modaless)
p->Create(IDD_DIALOG,this);
p->ShowWindow(SW_SHOW);
一、建立mfc工程,添加Edit Control组件设置属性如图
二、添加两个button 到对话框并分别设置两个button的caption属性为打开模态对话框 和 打开非模态对话框
三、在资源视图中、右键单击dialog,选择插入dialog,并设置对话框id属性为IDD_FIRST_DIALOG,右键单击选择添加类,类名填写CFirstDlg,点击确定
同理添加第二个对话框,id属性为IDD_SECOND_DIALOG,右键单击选择添加类,类名填写CSecondDlg,点击确定
四、主窗口双击打开模态对话框进入主窗口对应文件dialogDlg.cpp
在dialogDlg.cpp 文件中添加
#include "FirstDlg.h"
void CdialogDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
CFirstDlg dlg;
dlg.DoModal();
}
同理在主窗口双击打开非模态对话框进入主窗口对应文件dialogDlg.cpp添加
#include "SecondDlg.h"
void CdialogDlg::OnBnClickedButton2()
{
// TODO: 在此添加控件通知处理程序代码
//必须要用指针
CSecondDlg *pDlg = new CSecondDlg;
pDlg->Create(IDD_SECOND_DIALOG,this);//arg1:要创建的对话框ID,arg2:父窗口指针
pDlg->ShowWindow(SW_SHOW);
}
由于非模态对话框使用指针,所以对话框在关闭时必须将它销毁,
类视图->选中CSecondDlg->属性对话框中选择重写选中PostNcDestroy
进入SecondDlg.cpp 添加
void CSecondDlg::PostNcDestroy()
{
// TODO: 在此添加专用代码和/或调用基类
delete this;
CDialogEx::PostNcDestroy();
}
至此两种模式的对话框都已添加完毕。
转载于:https://www.cnblogs.com/Malphite/p/10822920.html
019.MFC_两种对话框相关推荐
- 【JetPack】视图绑定 ( ViewBinding ) 各种应用 ( 视图绑定两种方式 | Activity 布局 | 对话框布局 | 自定义组件布局 | RecyclerView 列表布局 )
文章目录 I . 视图绑定 ( ViewBinding ) 界面的两种方式 II . Activity 界面中 应用 视图绑定 ( ViewBinding ) III . Dialog 对话框界面中 ...
- 【REACT NATIVE 系列教程之十三】利用LISTVIEW与TEXTINPUT制作聊天/对话框获取组件实例常用的两种方式...
本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/react-native/2346.html ...
- c语言mfc怎么插入背景图片,MFC 对话框添加背景图片详细过程(两种方法)
给对话框添加背景图片方法很多,在此贴出两种很常见的方法.一种是通过读取位图资源显示位图(BitMap) step: 1.创建内存设备上下文: 2.选择位图,将其装入内存设备上下文: 3.使用BitBl ...
- 文件夹选择对话框 JS实现的两种方案
文件夹选择对话框 JS实现的两种方案 /** * browseFolder.js * 该文件定义了BrowseFolder()函数,它将提供一个文件夹选择对话框 * 以供用户实现对系统文件夹选择 ...
- MFC 对话框添加背景图片详细过程(两种方法)
给对话框添加背景图片方法很多,在此贴出两种很常见的方法.一种是通过读取位图资源显示位图(BitMap) step: 1.创建内存设备上下文: 2.选择位图,将其装入内存设备上下文: 3.使用BitBl ...
- Android Studio导入Eclipse项目的两种方法
Android Studio导入Eclipse项目有两种方法,一种是直接把Eclipse项目导入Android Studio,另一种是在Eclipse项目里面进行转换,然后再导入Android Stu ...
- vs2013我建了两个对话框 选择主对话框_VS/MFC编程教程:如何创建对话框模板和修改对话框属性...
创建对话框主要分两大步,第一,创建对话框资源,主要包括创建新的对话框模板.设置对话框属性和为对话框添加各种控件:第二,生成对话框类,主要包括新建对话框类.添加控件变量和控件的消息处理函数等.在本节中先 ...
- jmeter的两种参数化方法
2019独角兽企业重金招聘Python工程师标准>>> JMeter也有像LR中的参数化,本篇就来介绍下JMeter的参数化如何去实现. 参数化:录制脚本中有登录操作,需要输入用户名 ...
- C#自动实现Dll(OCX)控件注册的两种方法
打印这篇文章 尽管MS为我们提供了丰富的.net framework库,我们的程序C#开发带来了极大的便利,但是有时候,一些特定功能的控件库还是需要由第三方提供或是自己编写.当需要用到Dll引用的时候 ...
最新文章
- 激光雷达Lidar Architecture and Lidar Design(下)
- iOS8新特性 计算 cell 的高度
- cramer定理_Lundberg-Cramer定理
- Spring MVC @RequestMapping注解详解
- 【数据结构】图的应用(普利姆算法、克鲁斯卡尔算法、迪杰斯特拉算法、弗洛伊德算法、拓扑排序)
- 中医提到的气是否真实存在?
- F. It‘s a bird! No, it‘s a plane! No, it‘s AaParsa!
- 【Node】新手入门 基于Express,Sequelize、IIS的MVC项目
- python itemgetter_Python operator.itemgetter
- 数据标准在数据治理中的意义
- PHP中try、catch、finally的执行顺序
- ttl接地是高电平还是低电平_数电练习题
- 安卓linux开机画面,Android开机logo简单修改方法
- Intro to Xamarin.Android Xamarin Android入门教程 Lynda课程中文字幕
- Spire.Doc 指定位置插入书签和获取书签内容
- html实现宿舍管理系统,宿舍管理系统部分代码实现
- Bex5登陆端口异常
- 科罗拉多大学波尔得分校计算机科学,科罗拉多大学波尔得分校计算机科学本科专业-(20页)-原创力文档...
- ads1115的程序,不知道问题出在哪里,一直读出数据都是0。大佬们帮忙看看,感激不尽
- raster包—aggregate函数
热门文章
- mysql导出数据字典6_MySQL利用Navicat导出数据字典
- java tcp 编程实例_Java实现基于TCP的通讯程序实例解析
- mysql sql len_MySQL的查询计划中ken_len的值计算方法
- mysql mybatis模糊查询语句_详解MyBatis模糊查询LIKE的三种方式
- 女生做大数据有发展前景吗?能学会吗?
- WEB入门实践-张晨光-专题视频课程
- android 两足机器人,基于Android的双足机器人语音控制系统研究
- java调用C++ DLL库方法
- python meataclass详解
- 《好未来编程题》字符串中找出连续最长的数字串