VK_LBUTTON 01 Left mouse button VK_RBUTTON 02 Right mouse button VK_CANCEL 03 Control-break processing VK_MBUTTON 04 Middle mouse button (three-button mouse) — 05–07 Undefined VK_BACK 08 backspace key VK_TAB 09 tab key — 0A–0B Undefined VK_CLEAR 0C clear key VK_RETURN 0D enter key — 0E–0F Undefined VK_SHIFT 10 shift key VK_CONTROL 11 ctrl key VK_MENU 12 alt key VK_PAUSE 13 pause key VK_CAPITAL 14 caps lock key — 15–19 Reserved for Kanji systems — 1A Undefined VK_ESCAPE 1B esc key — 1C–1F Reserved for Kanji systems VK_SPACE 20 spacebar VK_PRIOR 21 page up key VK_NEXT 22 page down key VK_END 23 end key VK_HOME 24 home key VK_LEFT 25 left arrow key VK_UP 26 up arrow key VK_RIGHT 27 right arrow key VK_DOWN 28 down arrow key VK_SELECT 29 select key — 2A Original equipment manufacturer (OEM) specific VK_EXECUTE 2B execute key VK_SNAPSHOT 2C print screen key VK_INSERT 2D ins key VK_DELETE 2E del key VK_HELP 2F help key VK_0 30 0 key VK_1 31 1 key VK_2 32 2 key VK_3 33 3 key VK_4 34 4 key VK_5 35 5 key VK_6 36 6 key VK_7 37 7 key VK_8 38 8 key VK_9 39 9 key — 3A–40 Undefined VK_A 41 a key VK_B 42 b key VK_C 43 c key VK_D 44 d key VK_E 45 e key VK_F 46 f key VK_G 47 g key VK_H 48 h key VK_I 49 i key VK_J 4A j key VK_K 4B k key VK_L 4C l key VK_M 4D m key VK_N 4E n key VK_O 4F o key VK_P 50 p key VK_Q 51 q key VK_R 52 r key VK_S 53 s key VK_T 54 t key VK_U 55 u key VK_V 56 v key VK_W 57 w key VK_X 58 x key VK_Y 59 y key VK_Z 5A z key VK_LWIN 5B Left Windows key (Microsoft Natural Keyboard) VK_RWIN 5C Right Windows key (Microsoft Natural Keyboard) VK_APPS 5D Applications key (Microsoft Natural Keyboard) — 5E–5F Undefined VK_NUMPAD0 60 Numeric keypad 0 key VK_NUMPAD1 61 Numeric keypad 1 key VK_NUMPAD2 62 Numeric keypad 2 key VK_NUMPAD3 63 Numeric keypad 3 key VK_NUMPAD4 64 Numeric keypad 4 key VK_NUMPAD5 65 Numeric keypad 5 key VK_NUMPAD6 66 Numeric keypad 6 key VK_NUMPAD7 67 Numeric keypad 7 key VK_NUMPAD8 68 Numeric keypad 8 key VK_NUMPAD9 69 Numeric keypad 9 key VK_MULTIPLY 6A Multiply key VK_ADD 6B Add key VK_SEPARATOR 6C Separator key VK_SUBTRACT 6D Subtract key VK_DECIMAL 6E Decimal key VK_DIVIDE 6F Divide key VK_F1 70 f1 key VK_F2 71 f2 key VK_F3 72 f3 key VK_F4 73 f4 key VK_F5 74 f5 key VK_F6 75 f6 key VK_F7 76 f7 key VK_F8 77 f8 key VK_F9 78 f9 key VK_F10 79 f10 key VK_F11 7A f11 key VK_F12 7B f12 key VK_F13 7C f13 key VK_F14 7D f14 key VK_F15 7E f15 key VK_F16 7F f16 key VK_F17 80H f17 key VK_F18 81H f18 key VK_F19 82H f19 key VK_F20 83H f20 key VK_F21 84H f21 key VK_F22 85H f22 key VK_F23 86H f23 key VK_F24 87H f24 key — 88–8F Unassigned VK_NUMLOCK 90 num lock key VK_SCROLL 91 scroll lock key — 92–B9 Unassigned — BA–C0 OEM specific — C1–DA Unassigned — DB–E4 OEM specific — E5 Unassigned — E6 OEM specific — E7–E8 Unassigned — E9–F5 OEM specific VK_ATTN F6 Attn key VK_CRSEL F7 CrSel key VK_EXSEL F8 ExSel key VK_EREOF F9 Erase EOF key VK_PLAY FA Play key VK_ZOOM FB Zoom key VK_NONAME FC Reserved for future use. VK_PA1 FD PA1 key VK_OEM_CLEAR FE Clear key
精神可嘉!!!MSDN里面搜索VK_ ????也行啊
我写成下面的样子,一编译就非法操作,WHY? BOOL CCalcDlg::PreTranslateMessage(MSG* pMsg) { // TODO: Add your specialized code here and/or call the base class if(pMsg->message==WM_KEYDOWN) { switch(WM_KEYDOWN){ case VK_NUMPAD0: On0();break; case VK_NUMPAD1: On1();break; case VK_NUMPAD2: On2();break; case VK_NUMPAD3: On3();break; case VK_NUMPAD4: On4();break; case VK_NUMPAD5: On5();break; case VK_NUMPAD6: On6();break; case VK_NUMPAD7: On7();break; case VK_NUMPAD8: On8();break; case VK_NUMPAD9: On9();break; case VK_MULTIPLY: OnTim();break; case VK_ADD: OnAdd();break; case VK_SUBTRACT: OnSub();break; case VK_DIVIDE: OnDiv();break; case VK_DECIMAL: OnXsd();break; case VK_RCONTROL: OnClean();break; default: break; }// end switch } //end if return CCalcDlg::PreTranslateMessage(pMsg); }
refer to http://www.penbex.com.cn/Developer/programme.asp
VK_NUMPAD1 61h
VK_NUMPAD2 62h
VK_NUMPAD3 63h
VK_NUMPAD4 64h
VK_NUMPAD5 65h
VK_NUMPAD6 66h
VK_NUMPAD7 67h
VK_NUMPAD8 68h
VK_NUMPAD9 69h BOOL CMainFrame::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message == WM_KEYDOWN)
{
if(pMsg->lParam == VK_NUMPAD0 )
{
MessageBox("VK_NUMPAD0 OK");
return CFrameWnd::PreTranslateMessage(pMsg);
}
}
return CFrameWnd::PreTranslateMessage(pMsg);
}
VK_NUMPAD0 60h
VK_NUMPAD1 61h
VK_NUMPAD2 62h
VK_NUMPAD3 63h
VK_NUMPAD4 64h
VK_NUMPAD5 65h
VK_NUMPAD6 66h
VK_NUMPAD7 67h
VK_NUMPAD8 68h
VK_NUMPAD9 69h
应在哪里定义?
#define VK_MULTIPLY 0x6A 是*
#define VK_ADD 0x6B 是+
#define VK_SUBTRACT 0x6D 是-
#define VK_DIVIDE 0x6F 是/
#define VK_DECIMAL 0x6E 是.
#define VK_NUMLOCK 0x90 是灯
对不对?
还有个enter是什么?请指教
VK_RBUTTON 02 Right mouse button
VK_CANCEL 03 Control-break processing
VK_MBUTTON 04 Middle mouse button (three-button mouse)
— 05–07 Undefined
VK_BACK 08 backspace key
VK_TAB 09 tab key
— 0A–0B Undefined
VK_CLEAR 0C clear key
VK_RETURN 0D enter key
— 0E–0F Undefined
VK_SHIFT 10 shift key
VK_CONTROL 11 ctrl key
VK_MENU 12 alt key
VK_PAUSE 13 pause key
VK_CAPITAL 14 caps lock key
— 15–19 Reserved for Kanji systems
— 1A Undefined
VK_ESCAPE 1B esc key
— 1C–1F Reserved for Kanji systems
VK_SPACE 20 spacebar
VK_PRIOR 21 page up key
VK_NEXT 22 page down key
VK_END 23 end key
VK_HOME 24 home key
VK_LEFT 25 left arrow key
VK_UP 26 up arrow key
VK_RIGHT 27 right arrow key
VK_DOWN 28 down arrow key
VK_SELECT 29 select key
— 2A Original equipment manufacturer (OEM) specific
VK_EXECUTE 2B execute key
VK_SNAPSHOT 2C print screen key
VK_INSERT 2D ins key
VK_DELETE 2E del key
VK_HELP 2F help key
VK_0 30 0 key
VK_1 31 1 key
VK_2 32 2 key
VK_3 33 3 key
VK_4 34 4 key
VK_5 35 5 key
VK_6 36 6 key
VK_7 37 7 key
VK_8 38 8 key
VK_9 39 9 key
— 3A–40 Undefined
VK_A 41 a key
VK_B 42 b key
VK_C 43 c key
VK_D 44 d key
VK_E 45 e key
VK_F 46 f key
VK_G 47 g key
VK_H 48 h key
VK_I 49 i key
VK_J 4A j key
VK_K 4B k key
VK_L 4C l key
VK_M 4D m key
VK_N 4E n key
VK_O 4F o key
VK_P 50 p key
VK_Q 51 q key
VK_R 52 r key
VK_S 53 s key
VK_T 54 t key
VK_U 55 u key
VK_V 56 v key
VK_W 57 w key
VK_X 58 x key
VK_Y 59 y key
VK_Z 5A z key
VK_LWIN 5B Left Windows key (Microsoft Natural Keyboard)
VK_RWIN 5C Right Windows key (Microsoft Natural Keyboard)
VK_APPS 5D Applications key (Microsoft Natural Keyboard)
— 5E–5F Undefined
VK_NUMPAD0 60 Numeric keypad 0 key
VK_NUMPAD1 61 Numeric keypad 1 key
VK_NUMPAD2 62 Numeric keypad 2 key
VK_NUMPAD3 63 Numeric keypad 3 key
VK_NUMPAD4 64 Numeric keypad 4 key
VK_NUMPAD5 65 Numeric keypad 5 key
VK_NUMPAD6 66 Numeric keypad 6 key
VK_NUMPAD7 67 Numeric keypad 7 key
VK_NUMPAD8 68 Numeric keypad 8 key
VK_NUMPAD9 69 Numeric keypad 9 key
VK_MULTIPLY 6A Multiply key
VK_ADD 6B Add key
VK_SEPARATOR 6C Separator key
VK_SUBTRACT 6D Subtract key
VK_DECIMAL 6E Decimal key
VK_DIVIDE 6F Divide key
VK_F1 70 f1 key
VK_F2 71 f2 key
VK_F3 72 f3 key
VK_F4 73 f4 key
VK_F5 74 f5 key
VK_F6 75 f6 key
VK_F7 76 f7 key
VK_F8 77 f8 key
VK_F9 78 f9 key
VK_F10 79 f10 key
VK_F11 7A f11 key
VK_F12 7B f12 key
VK_F13 7C f13 key
VK_F14 7D f14 key
VK_F15 7E f15 key
VK_F16 7F f16 key
VK_F17 80H f17 key
VK_F18 81H f18 key
VK_F19 82H f19 key
VK_F20 83H f20 key
VK_F21 84H f21 key
VK_F22 85H f22 key
VK_F23 86H f23 key
VK_F24 87H f24 key
— 88–8F Unassigned
VK_NUMLOCK 90 num lock key
VK_SCROLL 91 scroll lock key
— 92–B9 Unassigned
— BA–C0 OEM specific
— C1–DA Unassigned
— DB–E4 OEM specific
— E5 Unassigned
— E6 OEM specific
— E7–E8 Unassigned
— E9–F5 OEM specific
VK_ATTN F6 Attn key
VK_CRSEL F7 CrSel key
VK_EXSEL F8 ExSel key
VK_EREOF F9 Erase EOF key
VK_PLAY FA Play key
VK_ZOOM FB Zoom key
VK_NONAME FC Reserved for future use.
VK_PA1 FD PA1 key
VK_OEM_CLEAR FE Clear key
BOOL CCalcDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->message==WM_KEYDOWN)
{
switch(WM_KEYDOWN){
case VK_NUMPAD0:
On0();break;
case VK_NUMPAD1:
On1();break;
case VK_NUMPAD2:
On2();break;
case VK_NUMPAD3:
On3();break;
case VK_NUMPAD4:
On4();break;
case VK_NUMPAD5:
On5();break;
case VK_NUMPAD6:
On6();break;
case VK_NUMPAD7:
On7();break;
case VK_NUMPAD8:
On8();break;
case VK_NUMPAD9:
On9();break;
case VK_MULTIPLY:
OnTim();break;
case VK_ADD:
OnAdd();break;
case VK_SUBTRACT:
OnSub();break;
case VK_DIVIDE:
OnDiv();break;
case VK_DECIMAL:
OnXsd();break;
case VK_RCONTROL:
OnClean();break;
default: break;
}// end switch
} //end if
return CCalcDlg::PreTranslateMessage(pMsg);
}
后就跳到return CCalcDlg::PreTranslateMessage(pMsg);
WHY?
那个窗口也没有打开,不能输入啊。
其实这个类的成员是怎么样被调用的啊?请告知@_@
添加到calcdlg.h中的class CCalcDlg : public CDialog的public的最后一行,错了吗?
怎么会连程序窗口都不能创建的??