文档库 最新最全的文档下载
当前位置:文档库 › MFC Hot Key 控件的用法

MFC Hot Key 控件的用法

1)在 VC ++ 6.0 和VS2005中,大多数的窗口消息可以从 ClassWizard 中找到,但是一些不常用的消息
在 ClassWizard 中并没有封装 ,WM_HOTKEY 就是其中一个,因此用户必须手动添加。添加代码如下:

afx_msg LRESULT OnHotKey(WPARAM wp,LPARAM lp);
ON_MESSAGE(WM_HOTKEY,&CVS_2005_DlgDlg::OnHotKey)
LRESULT CVS_2005_DlgDlg::OnHotKey(WPARAM wp,LPARAM lp)
{
WinExec("notepad",1);//打开记事本
return 1;
}

2)注册热键
BOOL CVS_2005_DlgDlg::OnInitDialog()
{
...
UINT fsModifiers = 0;
fsModifiers |= MOD_CONTROL;
fsModifiers |= MOD_ALT;
RegisterHotKey(GetSafeHwnd(), 1, fsModifiers, VK_F8); // 注册热键
...
}

这样,每当按下Ctrl+Alt+F8时,就会调出Windows记事本程序。

hot key control用法:
A "hot key control" is a window that enables the user to create a hot key.
A "hot key" is a key combination that the user can press to perform an action quickly.
(For example, a user can create a hot key that activates a given window and brings it
to the top of the Z order.) The hot key control displays the user's choices and ensures
that the user selects a valid key combination.

1)加入控件变量:
CHotKeyCtrl m_hotKeyCtrl;
DDX_Control(pDX, IDC_HOTKEY1, m_hotKeyCtrl);
2)添加一按钮和按钮处理程序,用户设置完HotKey后按此按钮即设置了新的HotKey
afx_msg void OnBnClickedButton2();
ON_BN_CLICKED(IDC_BUTTON2, &CVS_2005_DlgDlg::OnBnClickedButton2)
void CVS_2005_DlgDlg::OnBnClickedButton2()
{

//#define HOTKEYF_SHIFT 0x01
//#define HOTKEYF_CONTROL 0x02
//#define HOTKEYF_ALT 0x04
//#define HOTKEYF_EXT 0x08
WORD VirtualKeyCode=0,fsModifiers = 0;
m_hotKeyCtrl.GetHotKey(VirtualKeyCode,fsModifiers);

//#define MOD_ALT 0x0001
//#define MOD_CONTROL 0x0002
//#define MOD_SHIFT 0x0004
//#define MOD_WIN 0x0008

//GetHotKey() 与 RegisterHotKey()用的标志位不一样,需要转换
UINT fsModifiers2 = 0;
if (fsModifiers & HOTKEYF_SHIFT)
{
fsModifiers2 |=MOD_SHIFT;
}
if (fsModifiers & HOTKEYF_CONTROL)
{
fsModifiers2 |=MOD_CONTROL;
}
if (fsModifiers & HOTKEYF_ALT)
{
fsModifiers2 |=MOD_ALT;
}

RegisterHotKey(GetSafeHwnd(), 1, fsModifiers2, VirtualKeyCode); // 注册热键

}


vbKeyLButton 1 鼠标左键
-------------------------------------------------------------------
vbKeyRButton 2 鼠标右键
-------------------------------------------------------------------
vbKeyCancel 3 CANCEL 键
-------------------------------------------------------------------
vbKeyMButton 4 鼠标中键
-------------------------------------------------------------------
vbKeyBack 8 Backspace 键
-------------------------------------------------------------------
vbKeyTab 9 TAB 键
-------------------------------------------------------------------
vbKeyClear 12 CLEAR 键
---------------------------------------------------

----------------
vbKeyReturn 13 Enter 键
-------------------------------------------------------------------
vbKeyShift 16 Shift 键
-------------------------------------------------------------------
vbKeyConterol 17 Ctrl 键
-------------------------------------------------------------------
vbKeyMenu 18 菜单键
-------------------------------------------------------------------
vbKeyPause 19 PAUSE 键
-------------------------------------------------------------------
vbKeyCapital 20 CAPS LOCK 键
-------------------------------------------------------------------
vbKeyEscape 27 ESC 键
-------------------------------------------------------------------
vbKeySpace 32 SPACEBAR 键
-------------------------------------------------------------------
vbKeyPageUp 33 PAGEUP 键
-------------------------------------------------------------------
vbKeyPageDown 34 PAGEDOWN 键
-------------------------------------------------------------------
vbKeyEnd 35 END 键
-------------------------------------------------------------------
vbKeyHome 36 HOME 键
-------------------------------------------------------------------
vbKeyLeft 37 LEFT ARROW 键←
-------------------------------------------------------------------
vbKeyUp 38 UP ARROW 键↑
-------------------------------------------------------------------
vbKeyRight 39 RIGHT ARROW 键→
-------------------------------------------------------------------
vbKeyDown 40 DOWN ARROW 键↓
-------------------------------------------------------------------
vbKeySelect 41 SELECT 键
-------------------------------------------------------------------
vbKeyPrint 42 PRINT SCREEN 键
-------------------------------------------------------------------
vbKeyExecute 43 EXECUTE 键
-------------------------------------------------------------------
vbKeySnapshot 44 SNAP SHOT 键
-------------------------------------------------------------------
vbKeyInser 45 INSERT 键
-------------------------------------------------------------------
vbKeyDelete 46 DELETE 键
-------------------------------------------------------------------
vbKeyHelp 47 HELP 键
-------------------------------------------------------------------
vbKey0 48 0 键
-------------------------------------------------------------------
vbKey1 49 1 键
-------------------------------------------------------------------
vbKey2 50 2 键
-------------------------------------------------------------------
vbKey3 51 3 键
-------------------------------------------------------------------
vbKey4 52 4 键
-------------------------------------------------------------------
vbKey5 53 5 键
-------------------------------------------------------------------
vbKey6 54 6 键
-------------------------------------------------------------------
vbKey7 55 7 键
-------------------------------------------------------------------
vbKey8 56 8 键
--------------------------------------------------

-----------------
vbKey9 57 9 键
-------------------------------------------------------------------
vbKeyA 65 A 键
-------------------------------------------------------------------
vbKeyB 66 B 键
-------------------------------------------------------------------
vbKeyC 67 C 键
-------------------------------------------------------------------
vbKeyD 68 D 键
-------------------------------------------------------------------
vbKeyE 69 E 键
-------------------------------------------------------------------
vbKeyF 70 F 键
-------------------------------------------------------------------
vbKeyG 71 G 键
-------------------------------------------------------------------
vbKeyH 72 H 键
-------------------------------------------------------------------
vbKeyI 73 I 键
-------------------------------------------------------------------
vbKeyJ 74 J 键
-------------------------------------------------------------------
vbKeyK 75 K 键
-------------------------------------------------------------------
vbKeyL 76 L 键
-------------------------------------------------------------------
vbKeyM 77 M 键
-------------------------------------------------------------------
vbKeyN 78 N 键
-------------------------------------------------------------------
vbKeyO 79 O 键
-------------------------------------------------------------------
vbKeyP 80 P 键
-------------------------------------------------------------------
vbKeyQ 81 Q 键
-------------------------------------------------------------------
vbKeyR 82 R 键
-------------------------------------------------------------------
vbKeyS 83 S 键
-------------------------------------------------------------------
vbKeyT 84 T 键
-------------------------------------------------------------------
vbKeyU 85 U 键
-------------------------------------------------------------------
vbKeyV 86 V 键
-------------------------------------------------------------------
vbKeyW 87 W 键
-------------------------------------------------------------------
vbKeyX 88 X 键
-------------------------------------------------------------------
vbKeyY 89 Y 键
-------------------------------------------------------------------
vbKeyZ 90 Z 键
-------------------------------------------------------------------
vbKeyNum0 96 0 键 (在数字小键盘上)
-------------------------------------------------------------------
vbKeyNum1 97 1 键 (在数字小键盘上)
-------------------------------------------------------------------
vbKeyNum2 98 2 键 (在数字小键盘上)
-------------------------------------------------------------------
vbKeyNum3 99 3 键 (在数字小键盘上)
-------------------------------------------------------------------
vbKeyNum4 100 4 键 (在数字小键盘上)
-------------------------------------------------------------------
vbKeyNum5 101 5 键 (在数字小键盘上)
---------------------------------

----------------------------------
vbKeyNum6 102 6 键 (在数字小键盘上)
-------------------------------------------------------------------
vbKeyNum7 103 7 键 (在数字小键盘上)
-------------------------------------------------------------------
vbKeyNum8 104 8 键 (在数字小键盘上)
-------------------------------------------------------------------
vbKeyNum9 105 9 键 (在数字小键盘上)
-------------------------------------------------------------------
vbKeyMultiply 106 乘号(*) 键
-------------------------------------------------------------------
vbKeyAdd 107 加号(+) 键
-------------------------------------------------------------------
vbKeySeparator 108 Enter键(在数字小键盘上)
-------------------------------------------------------------------
vbKeySubtract 109 减号(-) 键
-------------------------------------------------------------------
vbKeyDecimal 110 小数点(.) 键
-------------------------------------------------------------------
vbKeyDivide 111 除号(/) 键
-------------------------------------------------------------------
vbKeyF1 112 F1 键
-------------------------------------------------------------------
vbKeyF2 113 F2 键
-------------------------------------------------------------------
vbKeyF3 114 F3 键
-------------------------------------------------------------------
vbKeyF4 115 F4 键
-------------------------------------------------------------------
vbKeyF5 116 F5 键
-------------------------------------------------------------------
vbKeyF6 117 F6 键
-------------------------------------------------------------------
vbKeyF7 118 F7 键
-------------------------------------------------------------------
vbKeyF8 119 F8 键
-------------------------------------------------------------------
vbKeyF9 120 F9 键
-------------------------------------------------------------------
vbKeyF10 121 F10 键
-------------------------------------------------------------------
vbKeyF11 122 F11 键
-------------------------------------------------------------------
vbKeyF12 123 F12 键
-------------------------------------------------------------------
vbKeyF13 124 F13 键
-------------------------------------------------------------------
vbKeyF14 125 F14 键
-------------------------------------------------------------------
vbKeyF15 126 F15 键
-------------------------------------------------------------------
vbKeyF16 127 F16 键
-------------------------------------------------------------------
vbKeyNumlock 144 NUM LOCK 键

相关文档