MFC中单击button并随鼠标移动怎么实现?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC中单击button并随鼠标移动怎么实现?相关的知识,希望对你有一定的参考价值。

对话框上放置一个button ,当鼠标左键单击这个button并持续按下鼠标左键在对话框上移动时,button能随着鼠标的移动而移动即鼠标到哪button就到哪,
当松开鼠标左键时,button停止移动,且button无单击状态变化。这个怎么实现呀,能给出代码参考吗?另外,在对话框以蓝色填充一块矩形,要求button表面上也是这种颜色,但是能正常显示出文字,在拖动button的时候颜色要一直是蓝色,且button要时时可见。有劳大侠们指教了。
VC6中没有WM_MOUSEDRAG呀

按钮移动,嘛,要相应响应WM_MOUSEDRAG事件,可以重载CButton,然后定义新的按钮变量即可;
按钮的颜色只要在上述的重载里加入属性并重绘即可,可能复杂一些,我有彩色按钮类,颜色相同只要自己制定就行
也可以用WM_MOVE吧,这个具体的你也可以查一下MSDN,上面有很详细的解释!
参考技术A 也可以用WM_MOUSEMOVE消息函数实现,只是要多用两个变量
我说下过程:
1,定义一个变量 flag;
2.鼠标按下时flag=1,鼠标弹起时flag=2;
3.在WM_MOUSEMOVE函数中,当flag==1是响应这个消息.
4.用((CButton*)(GetDlgItem(IDC_XXXXID)))->MoveWindow(xxx)//参数要自己计算下 IDC_XXXXID这个是按钮ID
参考技术B 你的响应WM_MOUSEDRAG时间,就可以了,重载CButton,然后让那个按钮是CNEWButton的对象就行了。

或者,你不是就像做一个像VB、VC一样的功能么?不如自己写一个ActiveX空间,自己绘图,不就行了么?我听说VB、VC也是这么做的。

呵呵。。。

以上是关于MFC中单击button并随鼠标移动怎么实现?的主要内容,如果未能解决你的问题,请参考以下文章

win32(非MFC) 用OpenGL 怎么实现单击鼠标左键选取A点,然后在B点处单击鼠标右键,使A点移动到B点,急用,谢

MFC 中,按钮和其他(比如:图片框、列表框)控件怎么响应鼠标移动消息?

Qt Creator 鼠标悬浮信号怎么生成?就像MFC里的OVERMOUSE。

MFC当鼠标移动到某对象范围的上方时触发的事件是啥?

MFC中静态文本框获取鼠标移动到按钮上的消息

MFC鼠标移动/离开,悬停在按钮上[关闭]