Du kannst auch eine
Interceptor-Klasse mit einer überschriebenen Click-Methode deklarieren. Wenn du dafür eine eigene
Unit verwendest, brauchst du lediglich diese
Unit nach dem
Vcl.ExtCtrls in die uses-clause einfügen. Das
VCL-Streaming sorgt dann für die korrekte Instanzierung.
Delphi-Quellcode:
unit uMyPanel;
interface
uses
System.SysUtils, System.Classes,
Vcl.ExtCtrls;
type
TPanel =
class(
Vcl.ExtCtrls.TPanel)
private
FOnBeforeClick: TNotifyEvent;
protected
procedure BeforeClick;
virtual;
procedure Click;
override;
public
property OnBeforeClick: TNotifyEvent
read FOnBeforeClick
write FOnBeforeClick;
end;
implementation
procedure TPanel.BeforeClick;
begin
if Assigned(FOnBeforeClick)
then
FOnBeforeClick(Self)
end;
procedure TPanel.Click;
begin
BeforeClick;
inherited;
end;
end.