実行時にDelphi 2009ではリボンボタンのcheckedプロパティにアクセスするには?
質問
私は、任意のリボンのボタンをクリックしたときにfalseにリボンのすべてのTActionオブジェクトのプロパティを「確認」してからのみ押されたボタンの上に真に設定をリセットしたいです。 しかし、私はまだActionManagerの行動のすべて「をチェック」プロパティにアクセスする方法を見つけることができませんでした。 しかし私は...私はactionmanagerのアクションリストをループする必要があると思うが、私はまだやるための正しい方法を見つけることができませんでした。 誰かが私にこの上でいくつかのヒントを与えることができれば、私は非常に喜んでいると思います。
ありがとうございます。
解決
TActionManager
がTCustomActionList
から下降し、あなたが後者で行うことができます何でも、あなたは元に行うことができます。それはあなたがいくつあるかがわかります、配列は、すべてのリストのアクションにアクセスできますプロパティ、および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
で導入され、これも上記のコードは、そのクラスから派生していないものは除外されます。
所属していません StackOverflow