gpt4 book ai didi

delphi - 如何在运行时访问 Delphi 2009 功能区按钮的选中属性?

转载 作者:行者123 更新时间:2023-12-04 07:06:22 24 4
gpt4 key购买 nike

我想在单击任何功能区按钮时将功能区的所有 TAction 对象的“已检查”属性重置为 false,然后仅在按下的按钮上将其设置为 true。
但是我还没有找到一种方法来访问 ActionManager 的 Actions 的所有“已检查”属性。
我想我需要遍历 actionmanager 的 actionlist ......但是,但我还没有找到正确的方法。
如果有人能给我一些提示,我会很高兴。

谢谢!

最佳答案

TActionManager来自 TCustomActionList ,所以无论你对后者做什么,你都可以对前者做。它有两个你需要使用的属性,Actions ,这是数组属性,可让您访问所有列表的操作,以及 ActionCount ,它告诉你有多少。用它们来写一个普通的循环,像这样:

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;

Action 列表可以容纳很多种 Action ,而且它们并不都有 Checked特性。该属性是在 TCustomAction 中引入的,所以上面的代码也过滤掉了不属于那个类的东西。

关于delphi - 如何在运行时访问 Delphi 2009 功能区按钮的选中属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1084659/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com