directinput中对应WM_LBUTTONUP是什么?

来源:百度知道 编辑:UC知道 时间:2024/05/30 02:24:24
//这是鼠标左键的代码
LPDIRECTINPUTDEVICE8 m_pDInputMouse; //设备指针
DIMOUSESTATE m_MouseState; //数据结构对象

LRESULT CInput::GetIsMouseDown(DWORD Mousecode)//0左,1右
{
return (m_MouseState.rgbButtons[Mousecode] & 0x80);

}

////////////////////////////
以上是左键按下 和WM_MBUTTONDOWN
我想知道,左键放开,相对应 WM_LBUTTONUP的话,怎么办?

WM_MBUTTONDOWN,WM_LBUTTONUP 是事件(event).

看程序员的需要,也许不必处理,也许考虑事件组合状态处理。

例如组合:

case WM_LBUTTONDOWN: mouse[0][0] = true; mouse[0][1] = true; break;
case WM_LBUTTONUP: mouse[0][0] = false; mouse[0][2] = true; break;

case WM_MBUTTONDOWN: mouse[1][0] = true; mouse[1][1] = true; break;
case WM_MBUTTONUP: mouse[1][0] = false; mouse[1][2] = true; break;

case WM_RBUTTONDOWN: mouse[2][0] = true; mouse[2][1] = true; break;
case WM_RBUTTONUP: mouse[2][0] = false; mouse[2][2] = true; break;

然后根据mouse[][] 决定做什么。