Очевидным местом действия по изменению свойства Visible
действия является его событие OnChange
. К сожалению, это событие не public
, не говоря уже о published
.
Тем не менее, существует способ установить обработчик события на событие OnChange
, используя class helper
.
Создайте class helper
в новом (или подходящем существующем) подразделении. Это рабочий пример:
unit ActionHelper;
interface
type
TActionHelper = class helper for TBasicAction
private
function GetOnChange: TNotifyEvent;
procedure SetOnChange(const Value: TNotifyEvent);
public
property OnChange: TNotifyEvent read GetOnChange write SetOnChange;
end;
implementation
function TActionHelper.GetOnChange: TNotifyEvent;
begin
Result := inherited OnChange;
end;
procedure TActionHelper.SetOnChange(const Value: TNotifyEvent);
begin
inherited OnChange := Value;
end;
end.
Всякий раз, когда вы добавляете этот модуль к предложению использования, вы сможете подключить свойство OnChange
любого потомка TBasicAction
к соответствующему обработчику событий.
Хотя это касание не позволяет связать событие OnChange
в Инспектор объектов , это довольно удобный способ получать уведомления при изменении какого-либо свойства действия.