MFC 在一个窗口按下鼠标,拖出此窗口,释放鼠标时怎么让此窗口响应

MFC 在一个窗口按下鼠标,拖出此窗口,释放鼠标时怎么让此窗口响应,第1张

拖出此窗口鼠标消息不会在此窗口产生响应消息。

类似问题的解决办法:

在鼠标按下DOWN开始拖动时,通过SetCapture将鼠标限制在窗口内部,这样必然能获取鼠标UP消息,获取后再释放鼠标。

在程序级,通过系统钩子获取全局鼠标消息,再转发给窗口。不过这个方法只应该在1不适用的情况下考虑,因为需要的代码和管理的事件较多,逻辑上不是很平滑。

参考一下

point

是相对CLYHchxuView的坐标

如果你要获的是相对CLYHchxuView左上角的坐标

就不需要转换

如果你你要获的是相对程序主窗口左上角的坐标

可以这样算

void CLYHchxuView::OnLButtonDblClk(UINT nFlags, CPoint point)

{

// TODO: Add your message handler code here and/or call default

CRect rc;

GetParent()->GetWindowRect(&rc);

ClientToScreen(&point);

docx=pointx-rcleft;

docy=pointy-rctop;

Invalidate();

CView::OnLButtonDblClk(nFlags, point);

}

以上就是关于MFC 在一个窗口按下鼠标,拖出此窗口,释放鼠标时怎么让此窗口响应全部的内容,包括:MFC 在一个窗口按下鼠标,拖出此窗口,释放鼠标时怎么让此窗口响应、急!!!MFC中如何获取鼠标相对坐标、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9400852.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存