我有一个主表单的应用程序.在这种形式中,我放置了三个TActionMainMenuBars,因为应用程序基本上以三种不同的模式运行.
菜单栏全部由在主窗体上的TActionManager中存储(代理)的动作构成.ActionManager实际上引用了各种其他形式的动作列表.
然后显示菜单栏+启用并隐藏+禁用,以便一次只能看到一个菜单栏.这样做效果很好,如果点击操作或者使用ALT导航操作,然后使用箭头键或标题中带下划线的字符.
但问题是,操作似乎没有响应任何快捷键按下.
有谁知道什么可能导致行动不发射?
如果需要,我将很乐意提供更多信息,我正在使用WinXP SP3中的C++ Builder 2007 RAD Studio进行编程.
感谢任何阅读此内容的人,或者甚至阅读本文并提出解决方案!
PeterMJ
更新:我没有说明不同菜单中的快捷方式重叠,因为不同菜单中的相同快捷方式用于不同的操作,但所有快捷方式在自己的菜单中都是唯一的.
我还简化了测试应用程序中的问题,使用了两个TActionMainMenuBars,并且所有操作共享了一个操作管理器.在这种情况下,我有两个具有相同快捷方式的操作.它们放在不同的菜单上.然后一次启用一个菜单.在这种情况下,快捷方式可以正常工作,但是当使用公共快捷方式时,即使禁用了保留菜单,也只触发第一个菜单中的操作.
这稍微好于我的实际问题,因为某些操作会触发,但突出显示操作未被正确触发.有没有人没有解决方案?