户区窗口输出按键提示信息。代码如下:
void CKeyboardDemoView::OnDraw(CDC* pDC) {
if(bShiftdown)//按下了Shift键 {
pDC->TextOut(20,20,\用户按下了Shift键!\ }
if(bShiftup)//释放了Shift键 {
pDC->TextOut(20,20,\用户释放了Shift键!\ }
if(bShiftB)//同时按下了Shift键和B键 {
pDC->TextOut(20,20,\用户同时按下Shift键和B键!\
bShiftB=false; } } 举例:
CDC* pDC =GetDC();
if (nChar==VK_UP)
{ }
pDC->Ellipse(40,40,200,200);
键盘事件总结:
Vc++中键盘事件中函数原型如下(以键盘按下为例,其他类似) OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 其中:
nChar :表示按键的字符代码。 nRepCnt:表示按键的重复次数。
nFlags:表示扫描码、先前键状态、键转换状态等。 nChar的取值表:
虚拟键码 对应值 对应键 VK_LBUTTON 1 鼠标左键 VK_RBUTTON 2 鼠标右键 VK_CANCEL 3 Cancel VK_MBUTTON 4 鼠标中键 VK_XBUTTON1 5 VK_XBUTTON2 6 VK_BACK 8 Backspace VK_TAB 9 Tab VK_CLEAR 12 Clear VK_RETURN 13 Enter VK_SHIFT 16 Shift VK_CONTROL 17 Ctrl VK_MENU 18 Alt VK_PAUSE 19 Pause VK_CAPITAL 20 Caps Lock VK_KANA 21 VK_HANGUL 21 VK_JUNJA VK_FINAL VK_HANJA VK_KANJI VK_ESCAPE VK_CONVERT VK_NONCONVERT VK_ACCEPT VK_MODECHANGE VK_SPACE VK_PRIOR VK_NEXT VK_END VK_HOME VK_LEFT VK_UP VK_RIGHT VK_DOWN VK_SELECT VK_PRINT VK_EXECUTE VK_SNAPSHOT VK_INSERT VK_DELETE VK_HELP 23 24 25 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 65 Esc Space Page Up Page Down End Home Left Arrow Up Arrow Right Arrow Down Arrow Select Print Execute Snapshot Insert Delete Help 0 1 2 3 4 5 6 7 8 9 A 25* VK_LWIN VK_RWIN VK_APPS VK_SLEEP VK_NUMPAD0 VK_NUMPAD1 VK_NUMPAD2 VK_NUMPAD3 VK_NUMPAD4 VK_NUMPAD5 VK_NUMPAD6 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 95 96 97 98 99 B C D E F G H I J K L M N O P Q R S T U V W X Y Z 小键盘 0 小键盘 1 小键盘 2 小键盘 3 100 小键盘 4 101 小键盘 5 102 小键盘 6 VK_NUMPAD7 VK_NUMPAD8 VK_NUMPAD9 VK_MULTIPLY VK_ADD VK_SEPARATOR VK_SUBTRACT VK_DECIMAL VK_DIVIDE VK_F1 VK_F2 VK_F3 VK_F4 VK_F5 VK_F6 VK_F7 VK_F8 VK_F9 VK_F10 VK_F11 VK_F12 VK_F13 VK_F14 VK_F15 VK_F16 VK_F17 VK_F18 VK_F19 VK_F20 VK_F21 VK_F22 VK_F23 VK_F24 VK_NUMLOCK VK_SCROLL VK_LSHIFT 103 小键盘 7 104 小键盘 8 105 小键盘 9 106 小键盘 * 107 小键盘 + 108 小键盘 Enter 109 小键盘 - 110 小键盘 . 111 小键盘 / 112 F1 113 F2 114 F3 115 F4 116 F5 117 F6 118 F7 119 F8 120 F9 121 F10 122 F11 123 F12 124 125 126 127 128 129 130 131 132 133 134 135 144 Num Lock 145 Scroll 160