1. 程式人生 > >MFC 建立鍵盤按鍵觸發事件

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 

F4 <--------> 115
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