背景:
完成鼠标按下,可拖拽对话框,只要在CPlayerUIDlg::OnLButtonDown函数中写代码
PostMessage(WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(point.x, point.y));
即可完成。但执行了这条命令后,当左键弹起时收不到WM_LBUTTONUP消息。
分析及方法:
发现左键弹起时,总会对应WM_MOUSEMOVE事件,所以可以在WM_MOUSEMOVE事件中根据按下时鼠标相对屏幕位置与WM_MOUSEMOVE事件处理函数中鼠标相对屏幕位置来模拟WM_LBUTTONUP消息。