1. 程式人生 > >wParam和lParam引數

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