メインフォームを持つアプリケーションがあります。アプリケーションは基本的に 3 つの異なるモードで実行されるため、このフォームでは 3 つの TActionMainMenuBars を配置しました。
メニュー バーはすべて、メイン フォームの TActionManager に保存された(プロキシされた)アクションから構築されます。ActionManager は、実際には他のさまざまなフォームのアクションリストを参照します。
メニュー バーは、一度に 1 つだけが表示されるように、表示 + 有効化および非表示 + 無効化されます。これはうまく機能し、クリックするか、ALT を使用して移動し、矢印キーまたはキャプションの下線付きの文字を使用すると、アクションが動作します。
ただし、問題は、アクションがショートカット キーを押しても反応しないように見えることです。
アクションが起動しない原因を知っている人はいますか?
私は WinXP SP3 の C++Builder 2007 RAD Studio でプログラミングしています。
これを読んだ人、またはこれを読んで解決策を思いついた人に感謝します!
ピーターMJ
更新:異なるメニューのショートカットは、同じショートカットが異なるメニューで異なるアクションに使用されているという点で重複しているとは言いませんでしたが、すべてのショートカットは独自のメニューで一意です。
また、2 つの TActionMainMenuBars を使用してテスト アプリケーションの問題を単純化し、すべてのアクションが 1 つのアクション マネージャを共有しました。この場合、同じショートカットを持つ 2 つのアクションがあります。それらは別のメニューに配置されます。その後、一度に 1 つのメニューが有効になります。この場合、ショートカットは機能しますが、共通のショートカットを使用すると、保持メニューが無効になっている場合でも、最初のメニューのアクションのみが起動されます。
これは、いくつかのアクションが起動するという点で実際の問題よりもわずかに優れていますが、アクションが正しくトリガーされていないことが強調されています。誰も解決策を持っていませんか?