Hallo!
Du kannst Dir eine eigene Komponente ableiten. Zum Beispiel so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
| interface
type TmyImage = class(TImage) private FOnMouseLeave: TNotifyEvent; FOnMouseOver: TNotifyEvent; procedure CMMouseEnter (var Message : TMessage); message CM_MouseEnter; procedure CMMouseLeave (var Message : TMessage); message CM_MouseLeave; public published property OnMouseOver : TNotifyEvent read FOnMouseOver write FOnMouseOver; property OnMouseLeave : TNotifyEvent read FOnMouseLeave write FOnMouseLeave; end;
implementation
procedure TmyImage.CMMouseEnter(var Message: TMessage); begin inherited; if Assigned(FOnMouseOver) then FOnMouseOver(self); end;
procedure TmyImage.CMMouseLeave(var Message: TMessage); begin inherited; if Assigned(FOnMouseLeave) then FOnMouseLeave(self); end; |
Den Ereignissen OnMouseOver und OnMouseLeave kannst Du nun Ereignisbehandlungsroutinen zuweisen und in denen dann das Laden der Images erledigen.
Du hast die Wahl, wie Du die Komponente einsetzen möchtest:
(1) Zur Laufzeit erzeugen
(2) Noch ein bisschen Arbeit investieren und so machen, dass Du sie als "richtige" Komponente registrierst.
MfG
Peter
//edit: Mist, zu langsam ...
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".