关于鼠标的一些操作

Posted 一点一滴成长

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于鼠标的一些操作相关的知识,希望对你有一定的参考价值。

1、
SetCapture()函数在属于当前线程的指定窗口里捕获鼠标输入。一般,只有鼠标在CWnd的客户区内,你才能接受到鼠标消息,调用
SetCapture()后,即使鼠标移动出客户区,你也可以接受到鼠标消息。GetCapture()可以知道当前哪个窗口调用了SetCapture();当一个
窗口不再需要所有的鼠标输入时应调用ReleaseCapture()释放鼠标。当按钮、滚动条按下时,应该调用SetCapture()捕获鼠标输入,防止
鼠标移动到窗口之外。

2、
当鼠标移入窗口则会接收到WM_SETCURSOR消息,所以一般不要在OnMouseMOve事件中调用SetCursor()改变鼠标光标,因为这样容易引起
光标闪烁,应该在在WM_SETCURSOR消息处理函数OnSetCursor中设置鼠标的光标。eg:

BOOL CMyButton::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
::SetCursor(LoadCursor(NULL,MAKEINTRESOURCE(IDC_HAND)));
return true;

return CButton::OnSetCursor(pWnd, nHitTest, message);
}

 

以上是关于关于鼠标的一些操作的主要内容,如果未能解决你的问题,请参考以下文章

鼠标控制3维操作 不知道能不能获得一些灵感

鼠标控制3维操作 不知道能不能获得一些灵感

关于QT重载鼠标事件的一些问题

关于“标准可编程接口”的一些理解

关于“标准可编程接口”的一些理解

关于“标准可编程接口”的一些理解