1

使用: Delphi XE3、VCL フォーム アプリケーション

ActionMainMenuBar にサブメニューを含むメニューがあります。コードを介してどのようにすればよいですか:

  1. メニューを無効にする
  2. サブメニューを無効にする
4

3 に答える 3

3
  1. 無効にするメニュー/サブメニューごとに「TAction」を作成します。それらをどのカテゴリにも割り当てないでください。

  2. これらのアクションを有効にできるように、これらのアクションの「OnExecute」イベント ハンドラを作成します。ハンドラーにコードを入れる必要はありません。IDE がハンドラーを削除しないようにするには、コメント ('//') で十分です。

  3. フォーム デザイナーからメニュー/サブメニューを表す「TActionClient」を選択し、項目をクリックするだけです。

  4. オブジェクト インスペクターで、アクションの 1 つをその 'Action' プロパティに割り当てます。

  5. 実行時にメニュー/サブメニューを有効/無効にする「TActionClient」に関連付けられたアクションを有効/無効にします。

于 2013-07-29T14:00:02.390 に答える
0

次のように、カテゴリの最上位メニュー項目のインデックスがわかっている場合は、実際には実行時に(とにかく Delphi 7 で)無効にすることができます。

ActionMainMenuBar.ActionControls[2].Enabled := False;

ActionControls[2] は、最上位のメニュー項目として表示されるカテゴリになります (カテゴリを ActionManager から ActionMainMenuBar にドラッグした後)。

于 2015-11-16T10:36:40.173 に答える
0

メニューの「有効」プロパティを使用して?またはサブメニューの開始点であるメニュー項目...

于 2013-07-29T07:45:22.983 に答える