Einzelnen Beitrag anzeigen

daddy

Registriert seit: 9. Sep 2005
Ort: Köln
126 Beiträge
 
Delphi 7 Enterprise
 
#16

Re: Events einer Komponenete in einer NEUEN ererbten Kompone

  Alt 10. Mai 2007, 21:15
SoGraDEs schrieb:
Zitat:
Eine letzte Erkenntnis, man kann nicht beide Lösungen gleichzeitig nutzen.
Wenn man das anclicken des Labels auf die Procedure click umgeleitet hat,dann gibt es kein
OnLabelClick Ereignis mehr, obwohl das OnLabelClick noch im OI steht.
Das stimmt natürlich nicht wirklich. Was hindert Dich daran, den Code zu erweitern!?
Delphi-Quellcode:
type
  TLabelPanel = class(TPanel)
  private
    ...
    FOnLabelClick: TNotifyEvent;
    ...
    procedure MyLabelOnClick(Sender: TObject);
    ...
  public
    ...
    property OnLabelClick: TNotifyEvent read FOnLabelClick write FOnLabelClick;
    ...
  end;

constructor TMyPanel.Create(AOwner: TComponent);
begin
  inherited create(AOwner) ;
  ...
  L1 := TLabel.Create(self);
  ...
  L1.OnClick := MyLabelOnClick;
  ...
end;

procedure TMyPanel.MyLabelOnClick(Sender: TObject);
begin
  Click; // sorry, das (self) war ein Kopierfehler
  if Assigned(FOnLabelClick) then FOnLabelClick(Sender); // oder "L1" statt "Sender"
end;
Und damit kannst Du ja im Prinzip beides nutzen. Zuerst geschieht das, was bei jedem Panel.Click passiert, danach das, was Du speziell Deinem Label zugewiesen hast.

Gruß Daddy
  Mit Zitat antworten Zitat