![]() |
andere Farbe, wenn Maus auf Label
Hi!
Ich möchte, dass die Font.Color der Labels rot ist, wenn sich die Maus darauf befindet. So mach ich es bisher:
Delphi-Quellcode:
Aber der Nachteil dieser Lösung ist doch, dass immer, wenn die Maus bewegt wird, und nicht nur dann, wenn sie auf ein Label drauf bzw von einem Label runter bewegt wird, aufgerufen werden.
procedure TForm1.LabelMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); begin TLabel(Sender).Font.Color := clRed; end; procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin Label1.Font.Color := clBlack; Label2.Font.Color := clBlack; end; |
Re: andere Farbe, wenn Maus auf Label
Ich glaub es gibt sowas wie MouseEnter/MouseLeave.
|
Re: andere Farbe, wenn Maus auf Label
Zitat:
|
Re: andere Farbe, wenn Maus auf Label
In neueren Delphi-Versionen schon.
|
Re: andere Farbe, wenn Maus auf Label
Doch,
aber erst ab Delphi 7 (6?). Bei Delphi5 müsstest Du das von Hand nachprogrammieren. |
Re: andere Farbe, wenn Maus auf Label
Zitat:
|
Re: andere Farbe, wenn Maus auf Label
Nein, OnMouseEnter & OnMouseLeave gibt normaler weise nicht bei einem TLabel.
Hier in der DP aber schon. Such einfach mal : ![]() |
Re: andere Farbe, wenn Maus auf Label
Zitat:
|
Re: andere Farbe, wenn Maus auf Label
Zitat:
[Edit: Warum keine neuere Delphiversion? D5 Standard hat schließlich die gleichen Einschränkungen wie D7PE/D2005PE?] |
Re: andere Farbe, wenn Maus auf Label
Matti,
OnMouseLeave und OnMouseEnter gibts bei einem Label in Delphi 7. Wie gesagt, leite dir eine Komponente von T(Custom)Label ab und fange CM_MOUSELEAVE und CM_MOUSEENTER ab. |
Re: andere Farbe, wenn Maus auf Label
Zitat:
|
Re: andere Farbe, wenn Maus auf Label
Ob das jetzt unter Versionen < D6 geht, weiß ich leider nicht :
Delphi-Quellcode:
P.S.: oh je, in dem Code am Anfang wird Label1 usw. direkt angesprochen. :roll:
procedure TfrmKey.lblMouseEnter(Sender: TObject);
begin with Sender as TLabel do begin Color := clSkyBlue; Font.Color := clNavy; end; end; procedure TfrmKey.lblMouseLeave(Sender: TObject); begin with Sender as TLabel do begin Color := clInfoBk; Font.Color := clBlack; end; end; |
Re: andere Farbe, wenn Maus auf Label
Ich wollte ähnliches mit einem Label unter Delphi 5 erreichen und habe mir eine kleine Ableitung geschrieben und die o.g. VCL Messages benutzt. Hier ein Beispiel dazu, du könntest es ja verallgemeinern und ein Label für D5 bauen, welches ein MouseEnter/MouseLeave bietet.
![]() |
Re: andere Farbe, wenn Maus auf Label
Zitat:
Bei Zeiten werde ich mir sicherlich mal ne OnMouseEnter und OnMouseLeave-fähige Labelkomponente schreiben. Aber Bisher hab ich noch keinerlei Erfahrung mit der Komponentenprogrammierung. Ich denke, dann lass ich's erstmal so, wie ich's jetzt hab. Wenn es irgendwann aber mal Performance-Probleme damit geben sollte, werd ich so schnell wie möglich mit der Komponentenprogrammierung anfangen. Danke an alle. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz