我的应用程序中有一个TActionManager
,其中定义了所有操作。我需要获取其所有操作的列表;目前,使用它的 Actions 属性,我可以获得动作 ( GetNamePath
) 的“路径”,但我也想获得它的标题。
是否可以从动作管理器获取所有动作?
我的应用程序中有一个TActionManager
,其中定义了所有操作。我需要获取其所有操作的列表;目前,使用它的 Actions 属性,我可以获得动作 ( GetNamePath
) 的“路径”,但我也想获得它的标题。
是否可以从动作管理器获取所有动作?
该Actions[]
属性返回一个TContainedAction
低级基类。您需要将其向上转换为适当的派生类。例如,如果您的操作管理器包含TAction
实例,那么您可以这样做:
for i := 0 to ActionManager1.ActionCount-1 do begin
Writeln((ActionManager1.Actions[i] as TAction).Caption);
end;
如果您从 派生自定义操作TCustomAction
,则在您的演员表中使用它。
显然,您可能希望用于is
检查操作的实际运行时类型并避免运行时转换错误。