在我的应用程序中,我根据上下文启用/禁用菜单项 - 如果文本区域具有焦点,我会禁用与导航键冲突的加速器(例如 Ctrl-左/右)。
根据微软的文档 http://msdn.microsoft.com/en-us/library/windows/desktop/ms646335%28v=vs.85%29.aspx:
如果加速器与菜单项具有相同的标识符,并且菜单项变灰或禁用,则加速器被禁用并且不会生成 WM_COMMAND 或 WM_SYSCOMMAND 消息。
但是,如果关联的菜单快捷键仍在快捷键表中,则 TranslateAccelerator 仍返回 true,尽管未分派任何消息(从而“吃掉”键盘事件)。
我想知道是否有办法确定 TranslateAccelerator 是否确实发送了消息?我试图避免每次启用或禁用菜单项时重建加速器表。
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)