Как получить все TAction от TActionManager?
У меня есть TActionManager
в моем приложении, где все действия определены. Мне нужно получить список всех его действий; в настоящее время, используя его свойство Actions, я могу получить "путь" для действия (GetNamePath
) но я тоже хочу получить его подпись.
Можно ли получить все действия от менеджера действий?
1 ответ
Actions[]
свойство возвращает TContainedAction
который является базовым классом низкого уровня. Вам нужно будет преобразовать это в соответствующий производный класс. Например, если ваш менеджер действий содержит TAction
экземпляры, то вы можете сделать это:
for i := 0 to ActionManager1.ActionCount-1 do begin
Writeln((ActionManager1.Actions[i] as TAction).Caption);
end;
Если вы выводите пользовательские действия из TCustomAction
, а затем используйте это в вашем актерском составе.
Очевидно, вы можете использовать is
проверить фактический тип времени выполнения действия и избежать ошибки приведения во время выполнения.