一、鍵盤消息
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坐標位置