怎么回朔得到“Spin”控件背后最终的“对话框”的实例或句柄? 怎么得到“Spin”控件背后的“对话框”的实例或句柄? 我的程序中“对话框”里有“GroupBox”,“GroupBox”里有“Spin”控件。也就是怎么回朔到对话框实例??这个问题都是子类化惹的!!!好麻烦。或者我解决这个问题的思路错误。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我是楼主! 我碰到这样一个问题:对话框中的CSpinButtonCtrl控件不响应 WM_LBUTTONUP事件(我的用途比较特殊。要在鼠标点击Spin后离开时(也就是达到最大或最小值时)发送数据。) 我查阅了相关资料: 打算用控件子类化解决问题。(用钩子处理好象也要涉及回朔到“Spin”控件背后最终的“对话框”的实例或句柄?) 这个问题都是子类化惹的!!!好麻烦。 我这么做的:在文档类中调用了对话框类:CDataAcquisitionDlg dataAcqDlg; 再定义了一个控件子类化CMySpin 类(继承了 CSpinButtonCtrl), CMySpin 类中定义了消息OnLButtonUp(UINT nFlags, CPoint point) ,在鼠标点击Spin后离开时((也就是达到最大或最小值时)发送数据。对话框中都使用CMySpin 控件。 我的程序要在响应CMySpin 类的OnLButtonUp()事件时用到其实例变量(CMySpin m_SpinAbsorberSpeed;)所在对话框的一些变量。对几个不同的Spin分别传送不同的数据到单片机里去。 所以出现了这些问题。连续在此开了几个帖子。或许我的思路是错误的,请高手帮忙出主意! 为什么WM_LBUTTONUP消息只发给对话框,而Spin控件也是窗口,却不响应对话框类的OnLButtonUp()事件?是不是除了控件子类化或钩子就没有其他解决方案了? 或许我解决这个问题的思路是错误的。如果哪位高手愿意帮忙,我可以把程序发给你们帮我看看。留下你们的Email地址。 首先,我试了一下,子类化的控件完全可以接收WM_LBUTTONUP消息,包括其他消息。可能你的方法不正确。从CSpinButtonCtrl继承子类CMySpin,对话框上添加SpinButton控件,添加控件变量:CSpinButtonCtrl m_Spinbutton;然后更改成:CMySpin m_Spinbutton;记得加上头文件:#include "MySpin.h"其次,对话框上的控件一般都是对话框的子控件,在子类化的CMySpin中可以通过GetParent()得到对话框的指针。最后,还是觉得你的方法有问题,处理SpintButton的UDN_DELTAPOS 通知消息不时挺好的吗? MFC单文档中如何使得客户区大小固定? 求助图像背景平滑 cpu 使用率 到底代表的是什么意义? 求DirectX9.0的中文版的帮助文档 一个loadlibrary的问题 怎样得到一个域的netbios名呢 VC新手问题,超级急得 谁能给我详细解说一下什么是句柄??? 静态分裂时DOC出现error C2143: syntax error : missing ';' before '*' 动态实时监测曲线,请帮帮忙!!!!! 请教高手.怎样控制摄像头 adodb程序编译错误:类型重定义!
我碰到这样一个问题:对话框中的CSpinButtonCtrl控件不响应 WM_LBUTTONUP事件(我的用途比较特殊。要在鼠标点击Spin后离开时(也就是达到最大或最小值时)发送数据。) 我查阅了相关资料:
打算用控件子类化解决问题。(用钩子处理好象也要涉及回朔到“Spin”控件背后最终的“对话框”的实例或句柄?)
这个问题都是子类化惹的!!!好麻烦。 我这么做的:在文档类中调用了对话框类:CDataAcquisitionDlg dataAcqDlg;
再定义了一个控件子类化CMySpin 类(继承了 CSpinButtonCtrl), CMySpin 类中定义了消息OnLButtonUp(UINT nFlags, CPoint point) ,在鼠标点击Spin后离开时((也就是达到最大或最小值时)发送数据。对话框中都使用CMySpin 控件。
我的程序要在响应CMySpin 类的OnLButtonUp()事件时用到其实例变量(CMySpin m_SpinAbsorberSpeed;)所在对话框的一些变量。对几个不同的Spin分别传送不同的数据到单片机里去。
所以出现了这些问题。连续在此开了几个帖子。或许我的思路是错误的,请高手帮忙出主意!
为什么WM_LBUTTONUP消息只发给对话框,而Spin控件也是窗口,却不响应对话框类的OnLButtonUp()事件?是不是除了控件子类化或钩子就没有其他解决方案了?
或许我解决这个问题的思路是错误的。如果哪位高手愿意帮忙,我可以把程序发给你们帮我看看。留下你们的Email地址。
CSpinButtonCtrl m_Spinbutton;然后更改成:
CMySpin m_Spinbutton;记得加上头文件:
#include "MySpin.h"其次,对话框上的控件一般都是对话框的子控件,在子类化的CMySpin中可以通过GetParent()得到对话框的指针。最后,还是觉得你的方法有问题,处理SpintButton的UDN_DELTAPOS 通知消息不时挺好的吗?