Vielen Dank schon einmal, nach einem kurzen Test ist mir der Unterschied von 3.) klar geworden (und damit auch von 1.). Was ich noch nicht ganz verstehe ist der 2. Punkt:
Hier mal ein kurzer Ausschnitt aus dem Code - GEHT!!! :
Delphi-Quellcode:
private
procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
protected
{ Protected-Deklarationen }
procedure Click; override;
Dazu folgende Frage: In TLabel sind z.B. die Events OnMouseEnter sowie OnClick da. So weit so gut. Nun kann man die Prozedur, welche beim Ereignis OnClick ausgeführt wird überschreiben (procedure Click; override). Hoffe das ist so weit korrekt. Nun die Frage: Warum lässt sich nicht das selbe für die o.g. Ereignisse CMMouseEnter durchführen, indem man die beiden Zeilen herausnimmt und eine analoge Procedure einfügt (procedure MouseEnter; override
? . Also so:
Delphi-Quellcode:
private
// fällt weg
protected
{ Protected-Deklarationen }
procedure Click; override;
procedure MouseEnter; override;
procedure MouseLeave; override;
Damit hatte ich leider keinen Erfolg. Worin liegt der Unterschied? Onclick und OnMouseEnter sind doch beides Events, den EventHandler (z.B. OnClick) kann man (ich?) aber nur bei OnClick (-> procedure Click) überschreiben.
SCRaT