我建立了一个MFC工程,添加了一个窗口,现在想在view和新建的窗口之间进行通信,google找了很多资料,一个都不可用!
具体描述如下:
新建窗口中有一个static text控件,其ID为IDC_DISTANCE_STATIC,关联的变量为m_distance,现在我想在view中设置这个控制值,我首先在view中添加了一个窗口变量 CDistanceFrm disFrm,然后通过该变量来引用控件disFrm.m_distance.SetWindowText("dddd");这样编译能够通过,但是程序运行不了,一直提示出错,盼望高手赐教,不慎感谢,很着急,这个问题琢磨了一个下午了,看了所有google能找到的都不能用!不知道在view中怎么来和其他窗口中控件进行通信,这里我如果在新建窗口中添加一个公共变量test,使用disFrm.test却可以得到值,但是获取不到新建窗口中控件的值!
具体描述如下:
新建窗口中有一个static text控件,其ID为IDC_DISTANCE_STATIC,关联的变量为m_distance,现在我想在view中设置这个控制值,我首先在view中添加了一个窗口变量 CDistanceFrm disFrm,然后通过该变量来引用控件disFrm.m_distance.SetWindowText("dddd");这样编译能够通过,但是程序运行不了,一直提示出错,盼望高手赐教,不慎感谢,很着急,这个问题琢磨了一个下午了,看了所有google能找到的都不能用!不知道在view中怎么来和其他窗口中控件进行通信,这里我如果在新建窗口中添加一个公共变量test,使用disFrm.test却可以得到值,但是获取不到新建窗口中控件的值!
解决方案 »
- 求助:error C2653: 'General' : is not a class or namespace name
- 如何发送和接收UDP的广播消息?
- 句柄问题
- 有关高频率对数据库操作的问题!帮忙看看吧。谢谢!
- UltraEdit10注册问题
- 知道进程id如何得到进程名
- 请问由CFileDlg类产生的对话框,其中如何使文件“查找范围”初始时在“网络邻居”上?有什么办法?谢谢!
- VC++ ? C++Builder? C#? 我想选学一种,望各位指教!
- 求对于24bit颜色转256颜色算法。如何来处理渐变问题的。现在渐变颜色就是一块一块的显示的。有什么方法处理吗?
- 创建文件的问题
- crichedit超链接问题(都第二次问了,郁闷)。
- VC++ 多文件编译
添加了窗口变量后,disFrm是否创建对应的对话框,只有创建了,你才能引用它的控件m_distance
CRuler* cRuler=new CRuler;
cRuler->Create(IDD_RULER_DIALOG,this);
cRuler->ShowWindow(SW_SHOW);
在CRuler对话框中有tab控件,这个CDistanceFrm加载在tab中,这样CRuler创建并显示了,CDistanceFrm是不是也就创建了啊,只是通过别的按钮来进行创建的,应该是这个导致的问题!我想用一个指针只是不知道怎么做,盼回复!
然后 ruler->distanceFrm.m_distance_.SetWindowText("ddd");
这样引用编译能够通过,运行时候还是出错!不知道怎么回事
CDistanceFrm 在ruler窗口的init中创建了啊:
distanceFrm.Create(IDD_DISTANCERULER_DIALOG, GetDlgItem(IDC_TAB));
Ruler* cRuler=new CRuler;
.....
cRuler->distanceFrm.m_distance_.SetWindowText("ddd");
CRuler* cRuler=new CRuler;
cRuler->Create(IDD_RULER_DIALOG,this);
cRuler->ShowWindow(SW_SHOW); CRuler* ruler;
然后 ruler->distanceFrm.m_distance_.SetWindowText("ddd"); 要把 CRuler 对话框的指针保存为 CXXXView 类 的成员啊!