Leo*_*era 3 delphi taction delphi-xe tactionmanager
我TActionManager在应用程序中定义了所有动作。我需要获取其所有动作的列表;当前,使用其Actions属性,我可以获取action(GetNamePath)的“路径”,但我也想获取其标题。
是否可以从动作管理器获取所有动作?
该Actions[]属性返回a TContainedAction,它是一个低级基类。您需要将其转换为适当的派生类。例如,如果您的动作管理器包含TAction实例,则可以执行以下操作:
for i := 0 to ActionManager1.ActionCount-1 do begin
Writeln((ActionManager1.Actions[i] as TAction).Caption);
end;
Run Code Online (Sandbox Code Playgroud)
如果您要从派生自定义操作TCustomAction,请在演员表中使用该操作。
显然,您可能想要使用is该操作检查实际的运行时类型,并避免运行时强制转换错误。