再谈MFC学习——模态对话框的数据传递
学习c++的目的就是为了使用封装好的类。而最最经典的封装类当然是微软的MFC窗体程序类。
学习MFC编程之前要学习c++的主要知识,掌握c++的基本编程思想。
以下就看下我学习的MFC模态对话框的数据传递。
首先。什么叫做模态对话框呢?模态对话框指的是当弹出这种对话框的时候,程序不能对应除了此对话框外其它的窗体的响应。直到关闭了这个对话框,程序才干响应其它的对话框的响应。非模态对话框即使弹出也能响应程序其它的窗体而不须要等到此窗体的关闭。那么MFC中怎么才干弹出模态对话框呢?事实上非常easy,首先创建这种一个窗体资源,然后给这个资源绑定一个自己的类,这个类要继承于其它的类。比方CDialog。在程序中的响应函数中,先定义这种一个类的对象dlg,然后调用dlg.doModal()便能够了。
关于模态对话框和主对话框之间的数据传递能够使用四种不同的方法实现:
1. 全局变量。这个方案尽管能够实现这种数据传递功能,可是没有体现出c++的面向对象的机制;
2. AfxGetMainWnd方法的使用;这个方案是通过获取主对话框的指针,然后利用这个指针获取主对话框上的对象的内容;
3. GetParent()函数的方法;这个方案能够获取父对话框的指针,然后通过这个指针进行对应的操作;
4. 成员变量和成员函数的方法;假设成员变量是私有的,那么我们须要定义成员函数才干对这种变量进行操作,可是为了方便,我们能够定义一个公有的指向主对话框的指针。
再谈MFC学习——模态对话框的数据传递的更多相关文章
- MFC中模态对话框和非模态对话框的差别
在MFC中有模态对话框和非模态对话框,那这两种有什么差别呢. 又都是用于什么场合呢. 首先,要弄清楚2种对话框是怎样创建的. 然后要弄清楚2种对话框有什么差别,可能从表面上看,模态会堵塞主对话框.可原 ...
- VS2010/MFC:模态对话框及其弹出过程
模态对话框及其弹出过程 加法计算器对话框程序大家照着做一遍后,相信对基于对话框的程序有些了解了,有个好的开始对于以后的学习大有裨益.趁热打铁,这一节讲讲什么是模态对话框和非模态对话框,以及模态对话框怎 ...
- mfc非模态对话框
按照我们的之前的做法,先新建工程. 把基本的内容都添加上. 形成这样一个样子: 并且进行试运行,让程序能够完成加法运算. 值的注意的是,静态文本那里要改一下名字,否则无法将成员变量进行添加. 前期准备 ...
- MFC非模态对话框中屏蔽ESC键
个人的编程经验认为:对于非模态对话框,按下ESC键和点击红叉都会响应OnCancel()函数,而不会去响应OnClose()函数. 我们都知道,如果想屏蔽Enter键,只须重写OnOK()函数即可(重 ...
- MFC非模态对话框销毁
非模态对话框需要重载OnCanel方法, 并调用DestroyWindow, 且不能调用基类的OnCanel重载PostNcDestroy, 需要delete掉this指针 // Overrides ...
- MFC学习之对话框---对话框之间的domodle 数据传递
if(IDOK==data.DoModal()){tx->m_gao=data.m_he;tx->m_kuan=data.m_wi;tx->m_jiao=data.m_jiaoju; ...
- MFC中两个对话框之间数据传递
以下是在网上参考的一篇文章,网址:https://blog.csdn.net/foreverhuylee/article/details/21707197 这里有两种情况, 第一种情况是: (在一个基 ...
- python Django html 一对多数据实例 模态对话框添加数据
- objectarx MFC 非模态对话框为当前焦点
dialog.h afx_msg LRESULT OnAcadKeepFocus(WPARAM, LPARAM); dialog.cpp BEGIN_MESSAGE_MAP(CTextDialog, ...
随机推荐
- 将maven项目打成war包
//修改成war包 <packaging>war</packaging> //plugins中添加新的配置 <build> <plugins> < ...
- JAXB注解使用
一.Jaxb处理java对象和xml之间转换常用的annotation有: @XmlType @XmlElement @XmlRootElement @XmlAttribute @XmlAccesso ...
- 创建文件夹、新建txt文件
1.创建文件夹 QString myMkdir(QString path, QString floderName) //参数 path,创建的文件夹所在路径: 参数floderName,所创建的文件 ...
- java编程规约一
提高开发效率,比较重视代码规范,尤其是可扩展性和可维护性,以及可读性.如果你是一个刚进公司的开发者,最好先问问前辈是否有 内部的开发规范,花点时间过一遍.即使提交代码没有review的步骤,自己心里应 ...
- springboot+springsecurity+thymeleaf
来源:听秦疆老师的课笔记 springsecurity是一个权限管理框架,用来授权,认证,加密等等......类似的工具还有shiro 1.整合 我用的是springboot2.2.0版本,导入以下依 ...
- django零散知识点
后端将对象以对象形式传到前端: from django.core.serializers import serialize def xxx(reqeust): project_list = model ...
- <Python基础>字典的基本操作
''' 小知识 1.字典的键只能是不可变数据类型:int 元组 bool str(可哈希) 字典查找数据会使用二分查找,会先用哈希表将键转化为数字然后进行查找 ''' s = { "name ...
- spark jdk8 单词统计示例
在github上有spark-java8 实例地址: https://github.com/ypriverol/spark-java8 https://github.com/ihr/java8-spa ...
- 01.MyBatis快速入门
1.下载jar包 Mybatis包+数据库驱动包 https://github.com/mybatis/mybatis-3/releases 2.新建Java工程并导入jar包 3.创建数据库与表 C ...
- sort的cmp函数
sort的cmp函数只能写return a>b;或者return a<b;