如何检查我的鼠标左键当前按下/拖动的东西(我preffer第一种可能性)。
我试过Mouse.IsDraging,但没有结果。
注:我处理的鼠标消息在我的应用程序,以便它没有问题,如果它是一个WM,只是共享的方式来完成我的任务。
如何检查我的鼠标左键当前按下/拖动的东西(我preffer第一种可能性)。
我试过Mouse.IsDraging,但没有结果。
注:我处理的鼠标消息在我的应用程序,以便它没有问题,如果它是一个WM,只是共享的方式来完成我的任务。
有一个Windows API函数GetAsyncKeyState()
但它的名称也可用于获取鼠标按钮的状态。 链接的文档包含直接回答你的问题:
该
GetAsyncKeyState
功能可与鼠标按钮。 然而,它会检查在物理鼠标按钮的状态,而不是在该物理按钮被映射到逻辑鼠标按钮。 例如,呼叫GetAsyncKeyState(VK_LBUTTON)
总是返回左物理鼠标按钮的状态,不管它是否被映射到左边或右边的逻辑鼠标按钮。 你可以通过调用确定系统的当前物理鼠标的按键逻辑鼠标按键映射GetSystemMetrics(SM_SWAPBUTTON)
返回TRUE
如果鼠标按钮已被调换。
结果类型是short
,检查最显著位只是测试值是否为负。
OnMouseMove(UINT nFlags, CPoint point)
{
m_LButtonPressed=nFlags & MK_LBUTTON;
CWnd::OnMouseMove(nFlags, point);
}