Добавить новое свойство в Action в TActionList

Как добавить новое опубликованное (для отображения в Инспекторе объектов) свойство в действие TActionList в Delphi?

тип данных свойства - логический.

Благодарю.

1 ответ

Решение

Создайте свой новый класс действий, производный от TAction, Например:

TMyAction = class(TAction)
...
published
  property MyBoolProp: Boolean ....
end;

И тогда вы можете зарегистрировать его из вашего пакета времени разработки Register процедура по вызову RegisterActions,

procedure Register;
begin
  .... // register any other components
  RegisterActions('MyCategory', [TMyAction], nil);
end;

Затем в редакторе списка действий выберите New Standard Action и ваше действие появится в виде дерева доступных действий.


В комментариях вы подразумеваете, что хотите изменить TAction иметь новую собственность. Это потребовало бы модификации самого VCL, и это вне вашего контроля. Без сомнения, VCL можно взломать, чтобы достичь того, о чем вы просите, но это не очень хорошая идея.

Другие вопросы по тегам