|
请问,使用dinput时获取的状态都是相对坐标,如何能得到绝对坐标呢?
lpdimouse->GetDeviceState(sizeof(DIMOUSESTATE), (LPVOID)&mouse_state);
看书上写着有绝对模式和相对模式,怎么样进入绝对模式呢?
还有就是即便用户不在当前窗口下,比如在VS下工作,GetDeviceState仍然会得到状态,请问我能够判断这个状态是在我窗口内做的,还是在其他窗口下的吗?
比如
if (mouse_state.rgbButtons[0])
{
char msg[20];
sprintf(msg, "x=%d, y=%d", mouse_x, mouse_y);
MessageBox(mainWindow, msg, "mouse", MB_OK);
}
增加怎样的判断,可以当鼠标不在窗口内时不显示MessageBox?
我在想是不是我不应该使用dinput而直接用WIN32API了。 |
|