実行時にDelphi 2009ではリボンボタンのcheckedプロパティにアクセスするには?

StackOverflow https://stackoverflow.com/questions/1084659

  •  23-08-2019
  •  | 
  •  

質問

私は、任意のリボンのボタンをクリックしたときにfalseにリボンのすべてのTActionオブジェクトのプロパティを「確認」してからのみ押されたボタンの上に真に設定をリセットしたいです。 しかし、私はまだActionManagerの行動のすべて「をチェック」プロパティにアクセスする方法を見つけることができませんでした。 しかし私は...私はactionmanagerのアクションリストをループする必要があると思うが、私はまだやるための正しい方法を見つけることができませんでした。 誰かが私にこの上でいくつかのヒントを与えることができれば、私は非常に喜んでいると思います。

ありがとうございます。

役に立ちましたか?

解決

TActionManagerTCustomActionListから下降し、あなたが後者で行うことができます何でも、あなたは元に行うことができます。それはあなたがいくつあるかがわかります、配列は、すべてのリストのアクションにアクセスできますプロパティ、およびActionsは、ある、ActionCountを、使用する必要があります2つのプロパティがあります。

:このように、通常のループを記述するためにそれらを使用します
var
  i: Integer;
  Contained: TContainedAction;
  Action: TCustomAction;
begin
  for i := 0 to Pred(ActionList.ActionCount) do begin
    Contained := ActionList[i]; // shorthand for ActionList.Actions[i]
    if not (Contained is TCustomAction) then
      continue; // Doesn't have Checked property

    Action := TCustomAction(Contained);
    Action.Checked := False;
  end;
end;

アクションリストは、アクションの種類の多くを保持することができ、そしてそれらはすべてChecked特性を有していません。そのプロパティがTCustomActionで導入され、これも上記のコードは、そのクラスから派生していないものは除外されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top