C++ MFC------ 快捷键

本文介绍两种在对话框中设置快捷键的方法:局部快捷键和全局快捷键。局部快捷键适用于有焦点的控件,通过在属性Caption后添加&Key实现。全局快捷键则通过注册热键的方式实现,涉及RegisterHotKey和UnRegisterHotKey两个API函数,并需处理WM_HOTKEY消息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建快捷键

该文讲解如何给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)    虚拟键码;

 

 

 

转载于:https://www.cnblogs.com/yinwei-space/p/7374660.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值