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

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

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

Спасибо.


person user1512094    schedule 26.07.2012    source источник


Ответы (1)


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

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

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

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

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

введите описание изображения здесь

введите описание изображения здесь


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

person David Heffernan    schedule 26.07.2012
comment
Я хочу, чтобы он появлялся, когда я добавляю новое действие в TActionList, если вы хотите меня понять, сделайте следующее: Откройте новый проект, добавьте TActionList в форму, дважды щелкните TActionList. Добавить новый элемент действия. Я хочу, чтобы добавленный элемент действия имел новое свойство. .это оно - person user1512094; 26.07.2012
comment
Большое спасибо ... вы великолепны ... спасибо, спасибо, спасибо! : D - person user1512094; 26.07.2012
comment
Ох, сегодня я чувствую любовь на SO !! ;-) - person David Heffernan; 26.07.2012
comment
А, заметка сообщества исчезла с правой панели. Там было сказано: Вторая неделя лета любви или что-то подобное ... - person Marjan Venema; 27.07.2012
comment
@Marjan, теперь я got that: -) - person TLama; 01.08.2012