实现了鼠标按下拖拽事件就无法收到LButtonUp的一个解决方法

来源:互联网 发布:枪神纪鬼玉数据 编辑:程序博客网 时间:2024/05/17 13:42

背景:

完成鼠标按下,可拖拽对话框,只要在CPlayerUIDlg::OnLButtonDown函数中写代码

PostMessage(WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(point.x, point.y));

即可完成。但执行了这条命令后,当左键弹起时收不到WM_LBUTTONUP消息。


分析及方法:

发现左键弹起时,总会对应WM_MOUSEMOVE事件,所以可以在WM_MOUSEMOVE事件中根据按下时鼠标相对屏幕位置与WM_MOUSEMOVE事件处理函数中鼠标相对屏幕位置来模拟WM_LBUTTONUP消息。




0 0
原创粉丝点击