標籤:
主要內容:介紹Windows編程中常用的訊息
1.WM_LBUTTONDOWN產生單擊滑鼠左鍵的訊息
lParam:
低位元組包含當前游標的X座標值 X = LOWORD(lParam);
高位元組包含當前游標的Y座標值 Y = HIWORD(lParam);
wParam:包含一組整數值,用來標識滑鼠鍵的按下狀態
可以通過switch-case來使用它
給出幾個按下狀態
MK_LBUTTON 按下滑鼠左鍵
MK_MBUTTON 按下滑鼠中鍵
MK_RBUTTON 按下滑鼠右鍵
MK_SHIFT 按下SHIFT鍵
MK_CONYROL 按下Ctrl鍵
例子:
case WM_LBUTTONDOWN:
if(wParam & MK_SHIFT) //若shift也有按下
2.此外,相似的訊息還有:
WM_LBUTTONDOWN 按下滑鼠左鍵時產生
WM_LBUTTONUP 鬆開滑鼠左鍵時產生
WM_RBUTTONDOWN 按下滑鼠右鍵時產生
WM_RBUTTONUP 鬆開滑鼠右鍵時產生
WM_LBUTTONDBLCLK 雙擊滑鼠左鍵時產生
WM_RBUTTONDBLCLK 雙擊滑鼠右鍵時產生
WM_MOUSEMOVE 滑鼠經過視窗的顯示地區時產生
WM_MBUTTONDOWN 按下滑鼠中鍵時產生
WM_MBUTTONUP 鬆開滑鼠中鍵時產生
3.WM_KEYDOWN 按下一個非系統鍵時產生的訊息
<1>系統鍵:是指實現系統操作的按鍵組合,
例如Alt與某個功能鍵的組合以實現系統功能表操作等,
非系統鍵就是不與alt聯用的鍵
註解:
凡是ALT和其它鍵一同按下的組合稱為“系統鍵”,
視窗收到系統鍵之後,會自動地將它解釋成系統事件,
或者查閱鍵盤加速表,將系統鍵翻譯成加速表指定的資訊。
如:ALT+F4的組合會迫使視窗關閉,“ALT+字母”的組合可能會拉下某個菜單。
非系統鍵就是不按下ALT鍵時的按鍵(比如單一按鍵)
<2>wParam:虛擬碼,用以標識按下或釋放的鍵
lParam:記錄了按鍵的重複次數、掃描碼、轉移代碼、先前鍵的狀態等資訊
<3>相似的還有WM_KEYUP,在放開非系統鍵時產生的訊息
<4>虛擬鍵以VK_開頭進行標識,如VK_SHIFT,VK_LBUTTON等
3.其他常見訊息
<1>WM_CHAR 按下一個非系統鍵時產生的訊息
wParam 為按鍵的ASCII碼 lParam 與WM_KEYDOWN相同
<2>WM_CREATE:由CreateWindow函數發出的訊息
wParam 未用
lParam 包含一個指向CREATESTRUCT資料結構的指標
<3>WM_CLOSE:關閉視窗時產生的訊息
wParam和lParam均未使用
wParam和lParam均未使用
<5>WM_QUIT:由PostQuitMessage函數發出的訊息
wParam 含結束代碼,標識程式退出運行時的有關資訊
1-3-2 Windows應用程式常用訊息