2 qq 21089415 qq_21089415 于 2015.07.22 20:44 提问

如果在对话框B中要调用对话框A的ontimer函数,该怎么用

图片说明
我在对话框A中有一个仪表控件,其类向导是在A中建立,启动是在ontimer中启动。但是我想在对话框B中的一个按钮去控制A的仪表控件,请问该怎么实现。我在B里也加了一个ontimer,但是仪表控件的ID没有定义,该怎么弄。。。

5个回答

cabbage200
cabbage200   2015.07.23 11:41
已采纳

最好用事件通讯,不要直接调用,会造成类耦合

qq_21089415
qq_21089415 事件通讯是什么。。。
2 年多之前 回复
CSDNXIAON
CSDNXIAON   2015.07.22 20:47

对话框函数
MFC对话框退出程序所调用的函数
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

qq_21089415
qq_21089415 这个。。。就更看不懂了,我是新手,可以具体点吗谢谢了
2 年多之前 回复
caozhy
caozhy   Ds   Rxr 2015.07.22 20:49

将Cyingjiyibiao定义成public的成员就可以了。

qq_21089415
qq_21089415 怎么定义,本来就是class Cyingjiyibiao : public CDialog这样子的
2 年多之前 回复
oyljerry
oyljerry   Ds   Rxr 2015.07.22 21:06

对话框A的定时器消息是跟B分开的,你应该B自己定义定时器,直接用A的不行。可以两个对话框直接传递其它数据,但是定时器最好分开。

oyljerry
oyljerry 回复chanvcvcvc: 你b创建的时候就可以把A的指针传递过去
2 年多之前 回复
qq_21089415
qq_21089415 不懂。。。在b的哪里保存对象指针pA
2 年多之前 回复
oyljerry
oyljerry 回复chanvcvcvc: b中保存a的一个对象指针pA等,然后就可以通过pA->func 来调用函数。你可以KillTimer,SetTimer来创建销毁
2 年多之前 回复
qq_21089415
qq_21089415 怎么样才可以b中控制a的定时器,我就是不知道该加什么函数。。。
2 年多之前 回复
oyljerry
oyljerry 回复chanvcvcvc: 你可以B中控制A的定时器,比如A加一个函数,B来调用
2 年多之前 回复
qq_21089415
qq_21089415 我的问题有点变动,你再看看咯~~
2 年多之前 回复
qq_21089415
qq_21089415 又是你为我解答,先谢谢你了。可是我定时器是定义一个仪表控件,我的仪表控件在对话框A,想在对话框B启动可以吗
2 年多之前 回复
sina_2831808769
sina_2831808769   Rxr 2015.07.25 13:50

最好用事件通讯,不要直接调用,会造成类耦合

Csdn user default icon
上传中...
上传图片
插入图片