投其所好,坚持不懈,快乐人生

生活的天平本不平衡,只有通过努力改变其偏向~

C++博客 首页 新随笔 联系 聚合 管理
  17 Posts :: 2 Stories :: 3 Comments :: 0 Trackbacks
符号常量   十六进制值  指定的鼠标或键盘按键
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);
}
posted on 2008-03-10 15:57 snail 阅读(144) 评论(0)  编辑 收藏 引用 所属分类: VC++

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理