Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5331782
  • 博文数量: 671
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 7310
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-14 09:56
文章分类

全部博文(671)

文章存档

2011年(1)

2010年(2)

2009年(24)

2008年(271)

2007年(319)

2006年(54)

我的朋友

分类: C/C++

2007-03-02 14:28:51

符号常量 十六进制值 指定的鼠标或键盘按键
   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)
   {

   // TODO: Add your specialized code here and/or call the base class
   if (pMsg->message == WM_KEYDOWN)
   {
   if(pMsg->wParam=='M')//直接用上面的虚码代替就可以响应所指键
   MessageBox("hello");//如果按下M键弹出消息.比如想当按下小键盘1时
   //弹出就用VK_NUMPAD1代替'M'
   }
   return CDialog::PreTranslateMessage(pMsg);
   }

   (二)组合键的用法:(本例响应Ctrl X键)
   BOOL CMydilog::PreTranslateMessage(MSG* pMsg)
   {
   // TODO: Add your specialized code here and/or call the base class

   if (pMsg->message == WM_KEYDOWN)
   {
   switch (pMsg->wParam)
   {
   case VK_ESCAPE:
   SetFocus ();
   return TRUE;
   case 'X':
   if(::GetKeyState(VK_CONTROL) < 0)//如果是Shift X这里就
   //改成VK_SHIFT
   MessageBox("hello");
   return TRUE;

   }
   }
   return CDialog::PreTranslateMessage(pMsg);
   }
 
 
阅读(690) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~