Delphi-Quellcode:
type
Thallo = Class;
constructor Create;
procedure blabla...
procedure OnLalaClick(sender: TObject);
private
lala: TPanel;
end;
implementation
constructor THallo.Create;
begin
lala.OnClick := OnLalaClick;
end;
procedure THallo.OnLalaClick(sender: TObject);
begin
// hier wird reingelaufen wenn auf lala geclickt wird...
end;
Edit Nachtrag:
1.) Der Code ist ungetestet, sollte aber so oder zumindest so ähnlich laufen.
2.) Das Datenkapselungsprinzip 'auszutricksen' ist eine ganz, ganz böse und schlechte idee, die ich gleich wieder verwerfen würde. Das Prinzip gibt es nicht umsonst
Zum Glück hat Dein Fall nichts damit zu tun. Und Du hast vor allem noch ein sehr gutes Beispiel, weil
genau das Delphi ja selber macht: Ersetze THallo doch mal spasseshalber durch TForm1, ziehe da ein Panel drauf, und erzeuge über den Objektinspektor das OnClick - Event auf dem Panel. Du wirst sehen, daß a) das Panel ein Member der Klasse TForm1 ist, so wie hier von THallo, und das die Methode genauso wie da oben auf TForm1 implementiert wird. Nur das Zuweisen der Methode (der Teil im Constructor), das macht Delphi sozusagen unsichtbar im Hintergrund (nämlich im Formular selber, in der
DFM - Datei). In dem Fall machst Du das nur per Hand.