Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.021 Beiträge
 
Delphi 12 Athens
 
#6

AW: In das Event einer Komponente einhacken.

  Alt 1. Apr 2015, 13:34
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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat