情景描述:
在dialog上面加上控件,如picture control 、tree control 。添加Dialog 的ON_WM_MOUSEMOVE() 消息,发现只要鼠标移到控件上就无法响应move的消息! 在picture control 上打开NOTIFY 属性,可以相应单击消息,但鼠标移动的消息,就是无法响应,-----不知道有什么方法?
请各位指教-
在dialog上面加上控件,如picture control 、tree control 。添加Dialog 的ON_WM_MOUSEMOVE() 消息,发现只要鼠标移到控件上就无法响应move的消息! 在picture control 上打开NOTIFY 属性,可以相应单击消息,但鼠标移动的消息,就是无法响应,-----不知道有什么方法?
请各位指教-
解决方案 »
- MFC位图在picture控件显示问题
- 请大家提供《MFC Windows 程序设计》的光盘内容
- VS2010分割的视图基类为CScrollView,出现断言问题
- 给定几个数,比较给定的一个数与这几个数中的哪一个最接近。
- 菜鸟问题:关于send(),recv()
- 钩子函数不运行是怎么回事???????????
- 请看一下,这句什么意思?很简单的!!
- 最近在网上看到3721会干扰其他软件运行,不知对VC++6.0是否有影响
- 作好的VC如何变为.exe程序或安装程序?
- Cobject中的Dump函数中文如何翻译?此函数的作用?
- 怎样在一个线程中弹出一个对话框
- Windows 读写文件为什么占用那么大的内存?
;
是这样的:
我在对话框中添加了一个pictures contol ,成线状,然后当我鼠标移动到这根线上面的时候,鼠标改变形状, 为东西方向的箭头,然后当我鼠标按键开始拖动,到抬起来的时候, 这个线到新的位置。所以,你说的把 pictures contol disabled之后,虽然能 完成识别鼠标这一步,问题是之后的单击 无法响应。 所以我问,怎么这样 添加代码设置激活,并模拟发送单击pictures contol 的消息!
1 可以派生一个类来响应
2 把控件的消息处理都放在对话框中来处理
对于后者,你要判断鼠标的位置,如果鼠标移到了控件所在的范围,你可以发送一个消息或则直接处理。
对于你说的“在picture control 上打开NOTIFY 属性,可以相应单击消息,但鼠标移动的消息,就是无法响应,”它当然不响应鼠标移动的消息了,因为你鼠标移动的消息是在对话框中处理的,属于对话框,而不属于控件的,至于单击消息,是因为你“打开NOTIFY 属性”让控件可以单击消息,并且你该消息是你为控件添加,属于控件,有控件来响应,如果你添加WM_LBUTTONDOWN的话,控件是不会响应的,因为控件是在对话框之上,你单击是控件,不是对画框。你看看你的单击消息是不是给控件添加的?
“Picture控件的Disable你设为True”这是让控件不可用,就向没有控件一样,是透明的,你在它上面做的任何操作都是相当于在对话框上。所以你的单击消息不响应,移动消息响应的是对话框的。