Vcl.Menus.TMenu.AutoHotkeys
Delphi
property AutoHotkeys: TMenuAutoFlag read GetAutoHotkeys write SetAutoHotkeys default maAutomatic;
C++
__property TMenuAutoFlag AutoHotkeys = {read=GetAutoHotkeys, write=SetAutoHotkeys, default=0};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | public | Vcl.Menus.pas Vcl.Menus.hpp |
Vcl.Menus | TMenu |
説明
メニュー項目のアクセラレータキーを自動的にリセットできるようにするかどうかを指定します。
AutoHotkeys プロパティを設定すると,メニュー内の項目のアクセラレータキーが必要に応じて自動的にリセットされるようにするかどうかを指定できます。これによって,各メニュー項目に 1 つのアクセラレータキーが存在し,しかも複数の項目が同じアクセラレータキーを持つことがなくなります。この結果,実行時に動的に追加された各メニュー項目が,重複することなくアクセラレータキーを持てるようになります。TMenu は,アクセラレータキーを調整するときに既存のアクセラレータキーのマッピングをすべて保持しようとしますが,各項目に固有のアクセラレータを持たせるために,キーマップの一部が変更されることもあります。
AutoHotkeys プロパティが maAutomatic の場合,メニューは,表示される前にアクセラレータキーのマッピングを確認および調整します。AutoHotkeys プロパティが maManual の場合,最上位レベルのメニュー項目は変更されませんが,サブメニューの親に当たるメニュー項目の AutoHotkeys プロパティの設定によっては,サブメニューのアクセラレータキーが調整されます。
AutoHotkeys プロパティが maManual の場合,アプリケーションは,Items プロパティの RethinkHotkeys メソッドを呼び出してメニュー項目を調整できます。AutoHotkeys プロパティは,この調整が自動的に行われるようにするかどうかを制御するだけのものです。
メモ: メニューの AutoHotkeys プロパティは,そのメニューの Items プロパティが実装されている TMenuItems オブジェクトの AutoHotkeys プロパティに関連付けられています。したがって,一方を設定すると,自動的にもう一方に反映されます。