我编一个对话框的程序,其中有好几个子对话框,它们各自有一个自己的对话框类。在主对话框类中有些变量,现在我想在各个对话框中都能使用这些变量,而且使用完后还能对这些变量进行修改更新,然后主对话框又根据这些变量的新值做一些相应的操作,总的来说就是想使这些变量在各个对话框类中共享,有什么好的办法,谢谢
解决方案 »
- 利用Mscomm串口通信问题
- 关于FindWindow查找窗口及控件的句柄
- 滚动条的移动
- 帮忙看一下这段代码有什么问题
- 一个奇怪的问题!关于 getdialogbaseunits
- 此处的reinterpret_cast可以不可以用dynamic_cast 代替?
- VC MFC 中什么情况下用timer 什么情况下用Sleep
- 我用CRichEditCtrl类生成了一个编辑框,但试了很多方法都没有改变字体颜色,请大家给个方法
- 如何让工具条按钮置灰或隐藏?帮帮忙吧,急!!!
- VC++ 安装驱动 详细分析
- 在VC中用WIN API编写对话框的问题,急!!!请诸位不吝赐教!!!
- 高分求教(100):有关采用WDM的视频捕获
假设我们有3个对话框,对应类CDlg1,CDlg2,CDlg3,每个类对应文件Dlg1.h、Dlg1.cpp;Dlg2.h、Dlg2.cpp;Dlg3.h、Dlg3.cpp;则首先在每个类的头文件开头部分,声明其他类:
//This is Dlg1.h beginning
class CDlg2;
class CDlg3;
...........//This is Dlg2.h beginning
class CDlg1;
class CDlg3;
...........//This is Dlg3.h beginning
class CDlg2;
class CDlg1;
...........
然后在每个类的实现文件中引用其他两个类的头文件:
//This is Dlg1.cpp beginng
#include "Dlg1.h"
#include "Dlg2.h"
#include "Dlg3.h"
.....//This is Dlg2.cpp beginng
#include "Dlg1.h"
#include "Dlg2.h"
#include "Dlg3.h"
.....//This is Dlg3.cpp beginng
#include "Dlg1.h"
#include "Dlg2.h"
#include "Dlg3.h"
.....每个类中添加指向其他两个类的指针成员变量,在构造函数中赋值
那么对于其余两个对话框的操作就可以通过指针来进行。
Dlg1.h
Dlg2.h
Dlg3.h
-----可以合并成DlgX.h---.cpp文件同理,我做过。
我用的方法是GetParent()得到父指针,然后用。
主要是保持各个对话框中保持一直,数据更新的时候,刷到父对话框,再分别刷到子对话框
本来是为了作用Dlg操作View和Doc类才想到这个方法的。
顺便问一下,非模态对话框用GetParent()有时好像取不到父指针,是不是和Create()的参数有关系?