我们需要在原对话框CMFC_Kinect_TrackingDlg设计一个按钮,点击这个按钮后弹出一个非模态对话框Color_Based_SettingDlg,

并且同时两个对话框都是激活状态,都可以自由操作,步骤入下:

1.在头文件MFC_Kinect_TrackingDlg.h中包含Color_Based_SettingDlg.h

2.在MFC_Kinect_TrackingDlg.h中的类CMFC_Kinect_TrackingDlg添加一个Color_Based_SettingDlg对话框的成员变量

并声明为私有类型。

[cpp] view plaincopy
  1. private:
  2. //new a Color_Based_SettingDlg obj pointor
  3. Color_Based_SettingDlg * m_pColorBasedSetting;

3.添加构造函数。如果cpp文件中函数太多,我们可以在Class View上半个视图中找到CMFC_Kinect_TrackingDlg类(在MFC_Kinect_TrackingDlg.cpp中),再在下半个视图中找到其构造函数双击,中间客户区域即可马上切到构造函数的实现处。在构造函数体中添加m_pColorBasedSetting= NULL;

4. 在构造函数下方添加一个析构函数,找寻位置和方法和构造函数一样,另外,还需要在MFC_Kinect_TrackingDlg.h中对析构函数进行声明,位置在构造函数下方。

[cpp] view plaincopy
  1. //析构函数
  2. CMFC_Kinect_TrackingDlg::~CMFC_Kinect_TrackingDlg()
  3. {
  4. if( NULL != m_pColorBasedSetting)
  5. delete m_pColorBasedSetting;
  6. }

5. 接下来就可以在对话框 CMFC_Kinect_TrackingDlg的消息处理函数OnBnClickedButtonColorSetting中创建非模态对话框

并添加要处理的函数。

[cpp] view plaincopy
  1. if(NULL == m_pColorBasedSetting)
  2. {
  3. m_pColorBasedSetting = new Color_Based_SettingDlg;
  4. //define Color_Based_SettingDlg dialog
  5. m_pColorBasedSetting-> Create( IDD_DIALOG_BASE_COLOR_SETTING,this);
  6. }
  7. m_pColorBasedSetting->SetWindowPos( NULL, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE );
  8. m_pColorBasedSetting->ShowWindow( SW_SHOW );
  9. m_pColorBasedSetting->SetActiveWindow();

MFC开发IM--MFC非模态对话框的创建及显示相关推荐

  1. 关于模态对话框和非模态对话框的创建、显示,以及和父对话框的传值

    当然网上关于这方面的技术博文非常多,此处我只是进行一下小记,再加一点自己的体会,方便以后查询. 一.模态对话框 1.创建及显示 模态对话框是一种阻塞式的对话框,即没有处理完该对话框,不能对其他地方进行 ...

  2. 鸡啄米vc++2010系列11(非模态对话框的创建)

    上一节鸡啄米讲了模态对话框及其弹出过程,本节接着讲另一种对话框--非模态对话框的创建及显示. 鸡啄米已经说过,非模态对话框显示后,程序其他窗口仍能正常运行,可以响应用户输入,还可以相互切换.鸡啄米会将 ...

  3. MFC模态与非模态对话框的创建与销毁

    1.模态对话框的创建 (1)添加新的模块对话框资源,在ResourceView标签中右键项目选择"add resource...",添加一个对话框资源,并修改其ID(主要为了方便后 ...

  4. vc++开发学习二(模态对话框和非模态对话框的创建和销毁)

    ①.模态对话框与非模态对话框的区别: 模态对话框:一旦创建模态对话框,则无法操作父对话框,只能操作当前创建的模态对话框,关闭当前模态对话框后才可以操作父对话框非模态对话框:和模态对话框相反,创建该对话 ...

  5. 我的YUV播放器MFC小笔记:非模态对话框建立及窗口间传值

    YUV播放器中,显示界面(主窗口)和设置界面分离,所有参数均在Setting子窗口设置,故需要主窗口和子窗口中实现参数传递.下面是方法. 1. 在主窗口CYUVPlayerDlg类中定义子窗口变量: ...

  6. 非模态对话框的创建于销毁

    橡皮线的工作原理:就必须不停地在新位置画出线段,并把以前的画出的线段擦掉.如果背景是单一的颜色,那就好办了,只需要构造一支背景颜色的画笔和一支前景颜色的画笔,然后首先用背景色画笔擦出上次的线段,再用前 ...

  7. VS2019/MFC编程入门之对话框:向导对话框的创建及显示

    上一讲讲了属性页对话框和相关的两个类CPropertyPage类和CPropertySheet类,对使用属性页对话框做准备.本节将为大家演示如何创建向导对话框. 仍然以前面的"加法计算器&q ...

  8. MFC-创建模态对话框和非模态对话框的方法

    注意:以下实例中创建模态对话框时没有用create(id号)绑定资源id,而非模态对话框中要用create(id号)绑定对话框资源id. 在MFC中对话框有两种形式,一个是模态对话框(model di ...

  9. mfc入门基础(六)创建模态对话框与非模态对话框

    参考博客: VS2010/MFC编程入门之十一(对话框:模态对话框及其弹出过程)-软件开发-鸡啄米 一.创建模态对话框 1.接着上节中的test02的例子来讲,找到test02.cpp文件,找到函数I ...

最新文章

  1. java怎么返回xml_java – 如何从Web服务返回XML
  2. bzoj2243 [SDOI2011]染色
  3. HTML5实战——canvas 绘制钟表
  4. Linux 命令之 usermod -- 用于修改用户的基本信息
  5. 事件捕获(capture)和冒泡事件(Bubble)
  6. 传动系统结构简图_立式砂磨机与卧式砂磨机的结构特点比较
  7. 7-153 找鞍点 (20 分)
  8. Linux卸载搜狐,搜狐的linux笔试题
  9. fcpx教程从入门到精通「3」预览窗口的认识
  10. CVS常用命令速查手册
  11. 简单版WAF代码学习
  12. 发那科机器人点位编辑_【发那科】发那科机器人指令编辑大全
  13. 常用4种基础统计图表——饼图、条形图、直方图、折线图
  14. ireport 循环_iReport制作报表1:iReport Designer的使用
  15. PPT修行之路(二)-素材库
  16. 记一次muse-ui 使用
  17. oracle中排序--拼音、笔画、偏旁部首
  18. 解决Mscomctl.ocx丢失的问题
  19. 去北美读PHD前给你泼的“冷水”,有志于去北美深造的人读一读
  20. python 时间格式datetime、str与date的相互转换

热门文章

  1. GCC 常见参数配置
  2. RabbitMQ基本管理(下)
  3. DMA(2) S3C2410 DMA详解(其它的其实类似)
  4. 自己实现一个右滑删除的ListView
  5. Linux 下搭建jsp服务器(配置jsp开发环境)
  6. VS2005中Build顺序的设定
  7. 在Java中避免NullPointerException
  8. 【AI面试题】什么是数据不平衡,如何解决
  9. 【机器学习】监督学习--(回归)决策树③--回归树
  10. javascript操作表格案例讲解