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