接收按键消息 c语言,三、Windows键盘快捷键—接收快捷键消息

当快捷键与系统菜单中的菜单项相对应时,TranslateAccelerator给窗口消息处理程序发送一个WM_SYSCOMMAND消息,否则,TranslateAccelerator给窗口消息处理程序发送一个WM_COMMAND消息。下表所示为几种可能接收到的WM_COMMAND消息,这些消息用于快捷键、菜单命令以及子窗口控件:

表10-3

快捷键

菜单

控件

LOWORD (wParam)

快捷键ID

菜单ID

控件ID

HIWORD (wParam)

1

0

通知码

lParam

0

0

子窗口句柄

如果快捷键与一个菜单项对应,那么窗口消息处理程序还会收到WM_INITMENU、WM_INITMENUPOPUP和WM_MENUSELECT消息,就好像选中了菜单选项一样。在处理WM_INITMENUPOPUP时,程序往往启用和禁用弹出式菜单中的菜单项,因此,在使用快捷键时,您仍然能够实作这类功能。如果快捷键与一个禁用或者无效化的菜单项相对应,那么,TranslateAccelerator函数就不会向窗口消息处理程序发送WM_COMMAND或WM_SYSCOMMAND消息。

如果活动窗口已经被最小化,那么TranslateAccelerator将为与启用的系统菜单项相对应的快捷键向窗口消息处理程序发送WM_SYSCOMMAND消息,而不是WM_COMMAND消息。TranslateAccelerator也会为没有任何菜单项与之对应的快捷键,来向窗口消息处理程序发送WM_COMMAND消息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值