wParam和lParam引數
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.
訊息 |
說明 |
wParam |
lParam |
WM_PAINT |
低位是客戶區的寬 高位是客戶區的高 |
||
WM_VSCROLL WM_HSCROLL |
視窗滾動條訊息 |
低位指出了滑鼠對滾動條的操作 |
|
擊鍵訊息 |
虛擬鍵程式碼 |
分為6個域,有重複計數、環境程式碼、鍵的先前狀態等 |
|
字元訊息 |
ANSI或Unicode字元程式碼 |
分為6個域,有重複計數、環境程式碼、鍵的先前狀態等 |
|
客戶區滑鼠訊息 |
指示滑鼠鍵及Shift和Ctrl鍵的狀態 |
滑鼠的客戶區座標 |
|
非客戶區滑鼠訊息 |
指明移動或者單擊滑鼠鍵的非客戶區位置,以HT開頭 |
滑鼠的螢幕座標 |
|
WM_MOUSEWHEEL |
滑鼠輪滾動訊息 |
低位表明滑鼠鍵和Shift與Ctrl鍵的狀態 高位指出了滾輪導致螢幕滾動幾行 |
滑鼠的螢幕位置 |
WM_TIMER |
計時器訊息 |
計時器的ID值 |
0 |
WM_COMMAND |
按鈕 |
低位是子視窗ID,高位是通知碼 |
子視窗控制代碼 |
WM_SETFOCUS |
焦點訊息 |
正在失去焦點的視窗的控制代碼 |
|
WM_KILLFOCUS |
焦點訊息 |
即將接收輸入焦點的視窗的控制代碼 |
|
WM_COMMAND |
編輯控制 |
低位是子視窗ID,高位是通知碼 |
子視窗控制代碼 |
WM_COMMAND |
列表框 |
低位是子視窗ID,高位是通知碼 |
子視窗控制代碼 |
WM_INITMENU |
主選單控制代碼 |
0 |
|
WM_MENUSELECT |
選單跟蹤訊息 |
低位是選中項選單的ID或者彈出式選單的控制代碼,高位是選擇標識 |
選中項的選單控制代碼 |
WM_INITMENUPOPUP |
準備顯示一個彈出式選單時產生 |
彈出式選單的控制代碼 |
低位是彈出式選單的索引,如果該選單是系統選單,那麼高位是1,否則為0. |
WM_COMMAND |
選中選單後產生 |
低位是擊中選單的ID 高位是0 |
0 |
WM_SYSCOMMAND |
使用者從系統選單中選擇一個啟用的選單項 |
選單的ID |
0如果該訊息是由按滑鼠產生的,那麼是滑鼠的螢幕座標。 |
WM_COMMAND |
加速鍵訊息 |
低位是加速鍵ID 高位是1 |
0 |