WM消息對應的Message消息中的Lparam和WParam
具體的消息表示:
1. WM_PAINT消息,LOWORD(lParam)是客戶區的寬,HIWORD(lParam)是客戶區的高
2. 滾動條WM_VSCROLL或WM_HSCROLL消息,LOWORD(wParam)指出了鼠標對滾動條的操作。比如上、下、左、右、翻頁、移動等。
3. 擊鍵消息,有WM_SYSKEYDOWN、WM_SYSKEYUP、WM_KEYUP、WM_KEYDOWN,其中wParam是虛擬鍵代碼,lParam是包含屬於擊鍵的其他信息。lParam消息參數分為6個域,有重復計數、環境代碼、鍵的先前狀態等。
4. 字符消息WM_CHAR、WM_DEADCHAR、WM_SYSCHAR、WM_SYSDEADCHAR,lParam消息參數跟擊鍵消息的lParam 消息參數內容相同,wParam參數是ANSI或Unicode字符代碼
5. 客戶區鼠標消息WM_LBUTTONDOWN、WM_LBUTTONUP、WM_RBUTTONDOWN、WM_RBUTTONUP、 WM_MBUTTONDOWN、WM_MBUTTONUP,lParam參數的低位是鼠標的客戶區x坐標,高位是客戶區y坐標。wParam參數是指示鼠標鍵及Shift和Ctrl鍵的狀態。
wParam&MK_SHIFT或MK_CTRL,如果返回TRUE就意味著有按下Shift或Ctrl 鍵。
6. 非客戶區消息,wParam參數指明移動或者單擊鼠標鍵的非客戶區位置,以HT開頭,lParam參數低位指出了鼠標所在屏幕坐標的x坐標,高位指出了鼠標所在屏幕坐標的y坐標。
7. 鼠標輪滾動消息,WM_MOUSEWHEEL消息,lParam將獲得鼠標的屏幕位置(坐標),wParam參數的低位表明鼠標鍵和Shift與Ctrl 鍵的狀態。wParam高位有一個“delta”值,該值可正可負,指出了滾輪導致屏幕滾動幾行,120表示向上3行。
8. 計時器消息WM_TIMER,wParam參數等於計時器的ID值,lParam為0
9. 按鈕子窗口的WM_COMMAND消息,wParam參數的低位是子窗口ID,高位是通知碼, lParam參數是接收消息的子窗口的句柄。
10. 焦點消息,對於正在失去焦點的窗口,會收到WM_KILLFOCUS消息,其wParam參數是即將接收輸入焦點的窗口的句柄。對於即將獲取焦點的窗口,會收到WM_SETFOCUS消息,其wParam參數是正在失去焦點的窗口的句柄。
11. 編輯控制的WM_COMMAND消息,wParam參數的低位是子窗口ID,高位是通知碼, lParam參數是子窗口句柄。
12. 列表框的WM_COMMAND消息,wParam參數的低位是子窗口ID,高位是通知碼, lParam參數是子窗口句柄。
13. 菜單消息1,WM_INITMENU,wParam是主菜單句柄,lParam是0.
14. 菜單消息2,WM_MENUSELECT,菜單跟蹤消息,指針移到菜單的某一些,就會發送這個消息給窗口過程,其wParam參數的低位是選中項菜單的 ID或者彈出式菜單的句柄,高位是選擇標識,lParam參數是包含選中項的菜單句柄。
15. 菜單消息3,WM_INITMENUPOPUP,準備顯示一個彈出式菜單時產生的消息,wParam參數是彈出式菜單的句柄,lParam的低位是彈出式菜單的索引,如果該菜單是系統菜單,那麽高位是1,否則為0.
16. 菜單消息4,WM_COMMAND,選中菜單後產生,wParam低位是擊中菜單的ID,高位是0,lParam參數也是0
17. 菜單消息5,WM_SYSCOMMAND,表示用戶從系統菜單中選擇一個啟用的菜單項,其wParam參數是菜單的ID, lParam為0.如果該消息是由按鼠標產生的,那麽lParam參數是鼠標的屏幕坐標。
18. 加速鍵消息,WM_COMMAND消息,wParam低位是加速鍵ID,高位是1, lParam是0.
19.控制項著色消息,WM_CTLCOLORBTN消息,wParam是按鈕的設備描述表句柄,lParam是按鈕的窗口句柄。
WM消息對應的Message消息中的Lparam和WParam