键盘ASCII虚拟码

虚拟按键的总结

符号常量        十六进制值        指定的鼠标或键盘按键
VK_LBUTTON      01                鼠标左键
VK_RBUTTON      02                鼠标右键
VK_CANCEL       03                Control-break 过程
VK_MBUTTON      04                鼠标中键
VK_BACK         08                BACKSPACE 键
VK_TAB          09                TAB 键
VK_CLEAR        0C                CLEAR 键
VK_RETURN       0D                ENTER 键
VK_SHIFT        10                SHIFT 键
VK_CONTROL      11                CTRL 键
VK_MENU         12                ALT 键
VK_PAUSE        13                PAUSE 键
VK_CAPITAL      14                CAPS LOCK 键
VK_ESCAPE       1B                ESC 键
VK_SPACE        20                SPACEBAR
VK_PRIOR        21                PAGE UP 键
VK_NEXT         22                PAGE DOWN 键
VK_END          23                END 键
VK_HOME         24                HOME 键
VK_LEFT         25                LEFT ARROW 键
VK_UP           26                UP ARROW 键
VK_RIGHT        27                RIGHT ARROW 键
VK_DOWN         28                DOWN ARROW 键
VK_SELECT       29                SELECT 键
VK_EXECUTE      2B                EXECUTE 键
VK_SNAPSHOT     2C                PRINT SCREEN键(用于Windows 3.0及以后版本)
VK_INSERT       2D                INS 键
VK_DELETE       2E                DEL 键
VK_HELP         2F                HELP键


/
对于非小键盘上的数字键和字母键,直接在单引号中加入该键就行.
比如: a 键: 'A'
       1 键: '1'
/
VK_LWIN         5B                Left Windows 键 (Microsoft自然键盘)
VK_RWIN         5C                Right Windows 键 (Microsoft自然键盘)
VK_APPS         5D                Applications 键 (Microsoft自然键盘)
VK_NUMPAD0      60                数字小键盘上的 0 键
VK_NUMPAD1      61                数字小键盘上的 1 键
VK_NUMPAD2      62                数字小键盘上的 2 键
VK_NUMPAD3      63                数字小键盘上的 3 键
VK_NUMPAD4      64                数字小键盘上的 4 键
VK_NUMPAD5      65                数字小键盘上的 5 键
VK_NUMPAD6      66                数字小键盘上的 6 键
VK_NUMPAD7      67                数字小键盘上的 7 键
VK_NUMPAD8      68                数字小键盘上的 8 键
VK_NUMPAD9      69                数字小键盘上的 9 键
VK_MULTIPLY     6A                Multiply 键
VK_ADD          6B                Add键
VK_SEPARATOR    6C                Separator 键
VK_SUBTRACT     6D                Subtract 键
VK_DECIMAL      6E                Decimal 键
VK_DIVIDE       6F                Divide 键
VK_F1           70                F1 键
VK_F2           71                F2 键
VK_F3           72                F3 键
VK_F4           73                F4 键
VK_F5           74                F5 键
VK_F6           75                F6 键
VK_F7           76                F7 键
VK_F8           77                F8 键
VK_F9           78                F9 键
VK_F10          79                F10 键
VK_F11          7A                F11 键
VK_F12          7B                F12 键
VK_F13          7C                F13 键
VK_F14          7D                F14 键
VK_F15          7E                F15 键
VK_F16          7F                F16 键
VK_F17          80H               F17 键
VK_F18          81H               F18 键
VK_F19          82H               F19 键
VK_F20          83H               F20 键
VK_F21          84H               F21 键
VK_F22          85H               F22 键
VK_F23          86H               F23 键
VK_F24          87H               F24 键
VK_NUMLOCK      90                NUM LOCK 键
VK_SCROLL       91                SCROLL LOCK 键
VK_ATTN         F6                Attn 键
VK_CRSEL        F7                CrSel 键
VK_EXSEL        F8                ExSel 键
VK_EREOF        F9                Erase EOF 键
VK_PLAY         FA                Play 键
VK_ZOOM         FB                Zoom 键
VK_OEM_CLEAR    FE                Clear 键

举例说明这些键的用法:
(一)响应单独的按键:
先添加PreTranslateMessage()(响应WM_CHAR)也是同样的效果,因为本例只捕捉键盘)
BOOL CMydilog::PreTranslateMessage(MSG* pMsg)
{
    if (pMsg->message == WM_KEYDOWN)
    {
        if(pMsg->wParam=='M')//直接用上面的虚码代替就可以响应所指键
        MessageBox("hello");//如果按下M键弹出消息.
    }
   
    return CDialog::PreTranslateMessage(pMsg);
}

(二)组合键的用法:(本例响应Ctrl+X键)
BOOL CMydilog::PreTranslateMessage(MSG* pMsg)
{
    if (pMsg->message == WM_KEYDOWN)
    {
        switch (pMsg->wParam)
        {
            case VK_ESCAPE:
                SetFocus ();
                return TRUE;
            case 'X':
                if(::GetKeyState(VK_CONTROL) < 0
                    MessageBox("hello");
                return TRUE;
        }
    }
   
    return CDialog::PreTranslateMessage(pMsg);
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值