Win32 SDK基礎(十三)之鍵盤和鼠標消息的詳細介紹

一、鍵盤消息

1、鍵盤消息

wm_keydown —— 鍵盤按鍵按下時產生。

WM_KEYUP —— 鍵盤按鍵彈起時產生。

WM_SYSKEYDOWN —— 系統按鍵按下時產生,如ALT、F10等等

WM_SYSKEUP —— 系統放開時產生

WM_CHAR —— 字符消息

2、消息參數:

按鍵消息:

WPARAM —— 按鍵的VirtualKey(虛擬鍵碼)

LPARAM —— 按鍵的參數,如按下的次數

WM_CHAR:

WPARAM —— 輸入的字符(ASCII編碼)

LPARAM —— 按鍵的相關參數

3、消息的使用:

(1)KEYDOWN可以重復消息,KEYUP只能在按鍵松開時出現一次

(2)TranslateMessage在轉換WM_KEYDOWN消息時,對于可見字符可以產生WM_CHAR,不可見字符無此消息。

二、鼠標消息

1、基本鼠標消息

WM_LBUTTONDOWN —— 鼠標左鍵按下

WM_LBUTTONUP —— 鼠標左鍵彈起

WM_RBUTTONDOWN —— 鼠標右鍵按下

WM_RBUTTONUP —— 鼠標右鍵彈起

WM_MOUSEMOVE —— 鼠標移動消息

1.1 消息參數

WMPARAM —— 其他按鍵的key,例如Ctrl/Shkeyt等

LPARAM —— 鼠標的位置,窗口客戶區的坐標系。

LOWkey X坐標位置

HIWORD Y坐標位置

1.2 鼠標消息的使用

一般情況下鼠標按下/抬起成對出現,在鼠標移動過程中會根據移動速度產生一系列的WM_MOUSEMOVE消息。

2、雙擊消息

WM_LBUTTONDBLICLK —— 鼠標左鍵雙擊

WM_RBUTTONDBLICLK —— 鼠標右鍵雙擊

2.1 消息參數

WMPARAM —— 其他按鍵的狀態,例如Ctrl/Shift等

LPARAM —— 鼠標的位置,窗口客戶區的坐標系。

LOWORD X坐標位置

HIWORD Y坐標位置

使用時需要在注冊窗口類的時候添加CS_DBLCLS風格,消息產生的順序:

WM_LBUTTONDOWN

WM_LBUTTONUP

WM_LBUTTONDBLCLK

WM_LBUTTONUP

3、滾輪消息

WM_MOUSEWHEEL —— 鼠標滾輪消息

3.1 消息參數

WMPARAM —— 其他按鍵的狀態

HIWORD —— 滾輪的偏移量,是120的倍數,通過正負極表示滾動的方向。

正:向前滾動

負:向后滾動

LRARAM:鼠標當前的位置,屏幕坐標系:

LOWORD X坐標位置

HIWORD Y坐標位置

? 版權聲明
THE END
喜歡就支持一下吧
點贊15 分享