重載方法 protected override void WndProc(ref Message m)
得到int msgID = m.WParam.ToInt32();
這裡msgID,就是
虛擬鍵碼,這裡指的是十六進位.
一些常用的虛擬鍵碼為:
WM_PAINT = 0x000F
其中0x000F是C#中表示int的一種寫法,可以定義為const
要求一個視窗重畫自己
WM_NCPAINT = 0x0085
當某個視窗的架構必須被繪製時,程式發送此訊息給視窗
WM_ACTIVATE = 0x0006
一個視窗被啟用或失去啟用狀態
WM_KILLFOCUS = 0x0008
失去焦點
WM_NCCALCSIZE = 0x0083
當某個視窗的用戶端區域必須被核算時發送此訊息
WM_NCACTIVATE = 0x0086
此訊息發送給某個視窗 僅當它的非客戶區需要被改變來顯示是啟用還是非啟用狀態
WM_SETTEXT = 0x000C
應用程式發送此訊息來設定一個視窗的文本
WM_LBUTTONDOWN = 0x0201
按下滑鼠左鍵
WM_LBUTTONUP = 0x0202
釋放滑鼠左鍵
WM_LBUTTONDBLCLK = 0x0203
雙擊滑鼠左鍵
WM_MOUSEMOVE = 0x0200
移動滑鼠
WM_SYSCOMMAND = 0x0112
當使用者選擇視窗菜單的一條命令或當使用者選擇最大化或最小化時那個視窗會收到此訊息
WM_SIZE = 5
改變一個視窗的大小
WM_SIZING = 0x0214
當使用者正在調整視窗大小時發送此訊息給視窗;通過此訊息應用程式可以監看式視窗大小和位置也可以修改他們
WM_ERASEBKGND = 0x0014
當視窗背景必須被擦除時(例在視窗改變大小時)
WM_SHOWWINDOW = 0x18
當隱藏或顯示視窗是發送此訊息給這個視窗
WM_NCCREATE = 0x0081
當某個視窗第一次被建立時,此訊息在WM_CREATE訊息發送前發送
WM_WINDOWPOSCHANGING = 0x0046
發送此訊息給那個視窗的大小和位置將要被改變時,來調用setwindowpos函數或其它視窗管理函數
WM_WINDOWPOSCHANGED = 0x0047
發送此訊息給那個視窗的大小和位置已經被改變時,來調用setwindowpos函數或其它視窗管理函數
|
十進位 |
十六進位 |
WINUSER.H標識符 |
必需? |
IBM相容鍵盤 |
|
1 |
01 |
VK_LBUTTON |
|
滑鼠左鍵 |
|
2 |
02 |
VK_RBUTTON |
|
滑鼠右鍵 |
|
3 |
03 |
VK_CANCEL |
ˇ |
Ctrl-Break |
|
4 |
04 |
VK_MBUTTON |
|
十進位 |
十六進位 |
WINUSER.H標識符 |
必需? |
IBM相容鍵盤 |
|
91 |
5B |
VK_LWIN |
|
左Windows鍵 |
|
92 |
5C |
VK_RWIN |
|
右Windows鍵 |
|
93 |
5D |
VK_APPS |
|
Applications鍵 |
|
十進位 |
十六進位 |
WINUSER.H標識符 |
必需? |
IBM相容鍵盤 |
|
8 |
08 |
VK_BACK |
ˇ |
Backspace |
|
9 |
09 |
VK_TAB |
ˇ |
Tab |
|
12 |
0C |
VK_CLEAR |
|
Num Lock關閉時的數字鍵台5 |
|
13 |
0D |
VK_RETURN |
ˇ |
Enter (或者另一個) |
|
16 |
10 |
VK_SHIFT |
ˇ |
Shift (或者另一個) |
|
17 |
11 |
VK_CONTROL |
ˇ |
Ctrl (或者另一個) |
|
18 |
12 |
VK_MENU |
ˇ |
Alt (或者另一個) |
|
19 |
13 |
VK_PAUSE |
|
Pause |
|
20 |
14 |
VK_CAPITAL |
ˇ |
Caps Lock |
|
27 |
1B |
VK_ESCAPE |
ˇ |
Esc |
|
32 |
20 |
VK_SPACE |
ˇ |
Spacebar |
|
十進位 |
十六進位 |
WINUSER.H標識符 |
必需? |
IBM相容鍵盤 |
|
33 |
21 |
VK_PRIOR |
ˇ |
Page Up |
|
34 |
22 |
VK_NEXT |
ˇ |
Page Down |
|
35 |
23 |
VK_END |
ˇ |
End |
|
36 |
24 |
VK_HOME |
ˇ |
Home |
|
37 |
25 |
VK_LEFT |
ˇ |
左箭頭 |
|
38 |
26 |
VK_UP |
ˇ |
上箭頭 |
|
39 |
27 |
VK_RIGHT |
ˇ |
右箭頭 |
|
40 |
28 |
VK_DOWN |
ˇ |
下箭頭 |
|
41 |
29 |
VK_SELECT |
|
|
|
42 |
2A |
VK_PRINT |
|
|
|
43 |
2B |
VK_EXECUTE |
|
|
|
44 |
2C |
VK_SNAPSHOT |
|
Print Screen |
|
45 |
2D |
VK_INSERT |
ˇ |
Insert |
|
46 |
2E |
VK_DELETE |
ˇ |
Delete |
|
47 |
2F |
VK_HELP |
|
|