对话框建立相关问题_qq7187057的博客-程序员秘密

技术标签: button  dialog  C/C++/MFC/  function  constructor  construction  validation  

1.对话框资源(CTestDlg).
2.对资源的操作是对相应的类进行的.
3.The CDialog class is the base class used for displaying dialog boxes on the screen. Dialog boxes are of two types: modal and modeless. A modal dialog box must be closed by the user before the application continues. A modeless dialog box allows the user to display the dialog box and return to another task without canceling or removing the dialog box.
4.在对话框构造函数中的IDD是对话框头文件中有定义.
<TestDlg.cpp>
CTestDlg::CTestDlg(CWnd* pParent /*=NULL*/): CDialog(CTestDlg::IDD, pParent)//这里
<TestDlg.h>
class CTestDlg : public CDialog
{
// Construction
public:
 CTestDlg(CWnd* pParent = NULL);   // standard constructor
// Dialog Data
 //{ {AFX_DATA(CTestDlg)
 enum { IDD = IDD_DIALOG1 };//这里
5.对菜单项的{命令响应}放到CMyboleView中完成.------对这句话理解
6.对话框的建立
modal:
 CTestDlg dlg;
 dlg.DoModal();//程序暂停执行,直到modal对话框销毁.
 /**
 An int value that specifies the value of the nResult parameter that was passed to the CDialog::EndDialog member function, which is used to close the dialog box. The return value is –1 if the function could not create the dialog box, or IDABORT if some other error occurred.
  */
modeless:
 public://定义成员变量
 CTestDlg Dlg;

 Dlg.Create(IDD_DIALOG1,this);
 Dlg.ShowWindow(SW_SHOW);

 /************************************/

 CTestDlg *pDlg=new CTestDlg();//定义指针
 pDlg->Create(IDD_DIALOG1,this);
 pDlg->ShowWindow(SW_SHOW);
 /**
 当modeless的Dlg为局部变量时,因为modeless对话框出现时程序不暂停执行,所以Dlg生命周期是创建后立即销毁,所以看不到.
 解决方法:
  1.成员变量:用
  2.指针:问题是定义的指针变量是局部变量,当生命周期结束时,保存的内在地址也就丢失了.可以变成成员变量,在析构函数中用delete释放指针.
  3.Remarks
Called when the user clicks the OK button (the button with an ID of IDOK).
Override this member function to perform the OK button action. If the dialog box includes automatic data validation and exchange, the default implementation of this member function validates the dialog-box data and updates the appropriate variables in your application.
If you implement the OK button in a modeless dialog box, you must override the OnOK member function and call DestroyWindow from within it. Don’t call the base-class member function, because it calls EndDialog, which makes the dialog box invisible but does not destroy it. 
  */ 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq7187057/article/details/1761581

智能推荐

【论文笔记】激光里程计 DMLO: Deep Matching LiDAR Odometry 2020_phy12321的博客-程序员秘密

DMLO: Deep Matching LiDAR Odometry 2020 激光里程计图森未来本文提出了基于深度学习方法的激光里程计,首次在激光里程计任务中使用全局稀疏匹配。其性能超越了现有的DP-based的方法,与几何SOTA方法(SUMA)性能很接近。相关工作局部迭代方法:ICP系列。应用比较普遍,但是计算量大,异常值敏感,需要很小心的初始化。全局稀疏配准:使用局部几何描述子,大多数手工提取,不适用于稀疏、不均匀的点云数据。DP-based:几何不可解释,泛化性不能保证

Elasticsearch-ELK使用入门(版本7.3.2)_es中 custom 过时了_暴躁码农的博客-程序员秘密

Elasticsearchelasticsearch简称ES,是非关系型数据库,采用倒序排序,具有强大的搜索能力,基于java开发的,所以安装时要查询下对应版本采用的JDK版本有没有安装。需要注意的是,查询全部资料显示,如果使用ELK(Elasticsearch+Logstach+Kibana),一定要注意版本号,最好使用同一版本的,否则会出现很多问题,因为ELK的版本兼容性不是很好。接下来介绍下如何在java项目中集成Elasticsearch1.maven 依赖引入(jar包引入).

Nginx——配置文件详解_zhz小白的博客-程序员秘密

文章目录1、nginx参数详解1.1、nginx.conf 配置文件全览1.1.1、第一部分:全局块1.1.2、第二部分:events 块1.1.3、第三部分:http块{}1.1.3.1、http全局块1.1.3.2、Server 块1.2、 工作模式与连接数上限1.3、开启零拷贝1.4、keepalive_timeout1.5、是否启用压缩1.6、autoindex1.7、nginx 虚拟主机演示1.8、 日志配置1.9、 Location(重点)1.10、 Bug https protocol req

eclipse java字体设置_如何在Eclipse for Java文本编辑器中更改字体大小?_谷臻故事工场的博客-程序员秘密

在Eclipse的字体扩展将添加工具栏按钮和键盘快捷键改变字体大小。然后,您可以使用AutoHotkey进行Ctrl+鼠标滚轮缩放。在菜单中的菜单帮助 → 安装新软件...下,将更新URL(http://eclipse-fonts.googlecode.com/svn/trunk/FontsUpdate/)粘贴到Works with:文本框中,然后按Enter。展开树,然后选择FontsFeatu...

2018 CES现场精彩抢先看_思岚科技 SLAMTEC的博客-程序员秘密

CES 素有很多有趣的别称,什么科技界“春晚”啦、“奥斯卡”啦……虽是调侃,但也侧面反映了人家的地位。这不,一经开幕,制霸科技圈热门榜。远在大洋彼岸的我们,无法现场亲眼见证。那就跟随雷锋小岚,一起看看今年国内外各大巨头都有哪些黑科技呈现。首先,让我们把目光聚集到国内的企业身上。据悉,今年CES有超过4000家企业参展,其中,有1500+中国企业参加,占了总数的1/3。可见,中国的AI布

在CentOS中安装setup工具_weixin_34389926的博客-程序员秘密

在CentOS中可以使用setup配置工具很方便地配置防火墙、网络、系统服务等配置项。如果采用最小化安装CentOS的话,默认没有安装该工具。下面我们手动安装下setup工具。1、安装setuptool# yum install setuptool2、安装防火墙设置# yum install system-config-securitylevel-tui3、安装网络设置...

随便推点

Unity5 的新旧延迟渲染Deferred Lighting Rendering Path_wolf96的博客-程序员秘密

unity5 的render path ,比4的区别就是使用的新的deferred rendering,之前的4的deferred rendering(其实是light prepass)也被保留了下来。Legacy Deferred Lighting Rendering Path(light prepass)老旧的Deferred Rendering Path,使用了light pre

java caffeine_高性能Java缓存----Caffeine_孙彻斯特的博客-程序员秘密

简单介绍Caffeine是新出现的一个高性能的Java缓存,有了它完全可以代替Guava Cache,来实现更加高效的缓存;Caffeine采用了W-TinyLFU回收策略,集合了LRU和LFU的优点,提供了一个最佳的命中率,在效率上可以秒杀Guava Cache,下面盗取一个来自网络的性能比较的截图:如何使用Caffeine使用非常简单,跟Guava Cache的API使用几乎一致,下面就话不多...

[889]python处理HTML转义字符_周小董的博客-程序员秘密

抓网页数据经常遇到例如&gt;或者&nbsp;这种HTML转义符什么是转义字符在 HTML 中&nbsp;&lt;、&gt;、&amp;&nbsp;等字符有特殊含义(&lt;,&gt; 用于标签中,&amp; 用于转义),他们不能在 HTML 代码中直接使用,如果要在网页中显示这些符号,就需要使用 HTML 的转义字符串(Escape Sequence),例如&nbsp;&lt;&nbsp;的转义字符是&nbsp;&amp;lt;,浏览器渲染 HTML 页面时,会自动把转移字符串换成真实字符。转义字符

Android 如何获取当前Activity实例对象?_startactivity后activity的对象_fuchenxuan的博客-程序员秘密

Android 获取当前Activity实例对象? 在项目开发中,遇到这么个情景,Activity是第三方部门的jar包,而我们需要当前界面用户输入的值 并且校验,jar包里面 并没有提供支持,然而这个jar包牵扯跨部门众多,更新困难。在短时间内只能靠我们自己 想办法获取当前屏幕的Activity 实例 对象,然后获取的View 遍历 到自己需要的值。以上都是废话,直接看需求~。获取当前屏幕A

websocket协议初探_websocket protocols_ILHONG的博客-程序员秘密

1 什么是websocket协议?WebSocket protocol是HTML5一种新的协议。它实现了浏览器与服务器全双工通信(full-duplex)。一开始的握手需要借助HTTP请求完成。相对于以前的http协议,websocket协议能够实现浏览器与服务器全双工通信(full-duplex),而http仅能实现单向通信。2 浏览器如何与服务器建立socket连接?主要连接流程如下2 client与server建立socket时握手的会话内容,即request与response

推荐文章

热门文章

相关标签