私は、それぞれに一意のショートカットを持つ場所のサブメニューを持つアプリケーションを持っています。これまではこのサブメニューは静的ですが、しばしばメニューに新しい場所を追加して新しいショートカットを割り当てる必要があります。アプリケーションには、ボタン、メニュー、および私が言及したサブメニューに必要なアクションを保持するTActionManagerを含むユニットClientdataがあります。Delphiの動的なメニュー/アクション
このサブメニューを実行時に変更可能にします。すべての場所がデータベースに保持されます。サブメニューにはまだアクションマネージャーでアクションがあるはずです。
さらに、すべての操作のショートカットエディタがあるため、各ユーザーには独自の個人用ショートカットを割り当てることができます。これらのショートカットは、個人ファイルディレクトリのテキストファイルに保存されます。
変更する必要のある場所が3つあります。
- システムモジュール。ここでは、サブメニューに表示されるデータベース内の場所を追加、編集、削除することができます。
- Actionmanager。サブメニューのすべてのアクションを保持します。また、ショートカットを保持し、テキストファイルからショートカットをロード/保存することもできます。
- 計画モジュール。場所のサブメニューを使用します。データベース内の場所からサブメニューを作成し、右ショートカットを割り当てる必要があります。
私は実装を開始しましたが、正しいトラックにいるかどうかはわかりません。場所のリストがデータモジュールで編集されているとき、ActionManagerのデータが同期していることが重要です。実行時にActionManagerで削除アクションを追加、編集する方法がわかりません。私はデザイン時のみこれを行った。
その他のコメントや改善点は歓迎します。
よろしくお願いします。