MFC 建立鍵盤按鍵觸發事件
描述:在MFC中通過按鍵盤某些按鍵觸發一些事件
資源檢視—-Dialog—-指定介面—-類嚮導—-虛擬函式—-PreTranslateMessage
找到自動生成的方法,新增方式如下:
BOOL CduiChengLianXingDlg::PreTranslateMessage(MSG* pMsg) { // TODO: 在此新增專用程式碼和/或呼叫基類 if(pMsg->message == WM_KEYUP) { // 響應keyup訊息 //MessageBox(_T("有鍵被按下")); //判斷具體鍵 switch( pMsg->wParam ) { case 65: //MessageBox(_T("按下了a")); m_FlashPlayer.CallFunction(temp); return TRUE; break; case VK_LEFT://按下左鍵 MessageBox(_T("左")); return TRUE; break; default: return TRUE; break; } } return CDialogEx::PreTranslateMessage(pMsg); }
按鍵的巨集定義可供參考:
#define VK_CLEAR 0x0C #define VK_RETURN 0x0D #define VK_SHIFT 0x10 #define VK_CONTROL 0x11 #define VK_MENU 0x12 #define VK_PAUSE 0x13 #define VK_CAPITAL 0x14 #define VK_KANA 0x15 #define VK_HANGEUL 0x15 /* old name - should be here for compatibility */ #define VK_HANGUL 0x15 #define VK_JUNJA 0x17 #define VK_FINAL 0x18 #define VK_HANJA 0x19 #define VK_KANJI 0x19 #define VK_ESCAPE 0x1B #define VK_CONVERT 0x1C #define VK_NONCONVERT 0x1D #define VK_ACCEPT 0x1E #define VK_MODECHANGE 0x1F #define VK_SPACE 0x20 #define VK_PRIOR 0x21 #define VK_NEXT 0x22 #define VK_END 0x23 #define VK_HOME 0x24 #define VK_LEFT 0x25 #define VK_UP 0x26 #define VK_RIGHT 0x27 #define VK_DOWN 0x28 #define VK_SELECT 0x29 #define VK_PRINT 0x2A #define VK_EXECUTE 0x2B #define VK_SNAPSHOT 0x2C #define VK_INSERT 0x2D #define VK_DELETE 0x2E #define VK_HELP 0x2F ---------------------
字母和數字鍵的鍵碼值(keyCode)
A <--------> 65
B <--------> 66
C <--------> 67
D <--------> 68
E <--------> 69
F <--------> 70
G <--------> 71
H <--------> 72
I <--------> 73
J <--------> 74
K <--------> 75
L <--------> 76
M <--------> 77
N <--------> 78
O <--------> 79
P <--------> 80
Q <--------> 81
R <--------> 82
S <--------> 83
T <--------> 84
U <--------> 85
V <--------> 86
W <--------> 87
X <--------> 88
Y <--------> 89
Z <--------> 90
0 <--------> 48
1 <--------> 49
2 <--------> 50
3 <--------> 51
4 <--------> 52
5 <--------> 53
6 <--------> 54
7 <--------> 55
8 <--------> 56
9 <--------> 57
數字鍵盤 1 <--------> 96 數字鍵盤 2 <--------> 97 數字鍵盤 3 <--------> 98
數字鍵盤 4 <--------> 99 數字鍵盤 5 <--------> 100 數字鍵盤 6 <--------> 101
數字鍵盤 7 <--------> 102 數字鍵盤 8 <--------> 103 數字鍵盤 9 <--------> 104
數字鍵盤 0 <--------> 105
乘號 <--------> 106
加號 <--------> 107
Enter <--------> 108
減號 <--------> 109
小數點 <--------> 110
除號 <--------> 111
F1 <--------> 112 F2 <--------> 113 F3 <--------> 114
F5 <--------> 116 F6 <--------> 117 F7 <--------> 118 F8 <--------> 119
F9 <--------> 120 F10 <--------> 121 F11 <--------> 122 F12 <--------> 123
F13 <--------> 124 F14 <--------> 125 F15 <--------> 126
Backspace <--------> 8
Tab <--------> 9
Clear <--------> 12
Enter <--------> 13
Shift <--------> 16
Control <--------> 17
Alt <--------> 18
Caps Lock <--------> 20
Esc <--------> 27
空格鍵 <--------> 32
Page Up <--------> 33
Page Down <--------> 34
End <--------> 35
Home <--------> 36
左箭頭 <--------> 37
向上箭頭 <--------> 38
右箭頭 <--------> 39
向下箭頭 <--------> 40
Insert <--------> 45
Delete <--------> 46
Help <--------> 47
Num Lock <--------> 144
; : <--------> 186
= + <--------> 187
- _ <--------> 189
/ ? <--------> 191
` ~ <--------> 192
[ { <--------> 219
| <--------> 220
] } <--------> 221
'' ' <--------> 222