C++ MFC------ 快捷键
创建快捷键
该文讲解如何给dialog的菜单或者按钮添加快捷键。
1、局部快捷键
点击控件,右键点“属性”,在属性Caption后添加&Key,例如: &Y,即通过按Alt+Y即可触发快捷键,但是该方法只有控件focus时才能使用。
2、全局快捷键
快捷键创建函数:
BOOL WINAPI RegisterHotKey(
__in_opt HWND hWnd,
__in int id,
__in UINT fsModifiers,
__in UINT vk
);
其中,
hWnd:接收热键产生WM_HOTKEY消息的窗口句柄;
Id: 热键的标示符;
fsModifiers: 和vk键一起按下的键;
Vk: 热键的虚拟键码;
注销快捷键函数:
BOOL WINAPI UnRegisterHotKey(
_in_opt HWND hWnd,
_in int id
);
响应消息: WM_HOTKEY
在BEGIN_MESSAGE_MAP{ ---- } END_MESSAGE_MAP间添加:
ON_MESSAGE(WM_HOTKEY,OnHotKey);
响应函数:
LRESULT OnHotKey(WPARAM wParam,LPARAM lParam);
参数:
wParam: 标志符-----即控件ID;
lParam:
按键组合-------- LOWORD(lParam) fsModifiers flags
HIWORD(lParam) 虚拟键码;