Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi andere Farbe, wenn Maus auf Label (https://www.delphipraxis.net/78202-andere-farbe-wenn-maus-auf-label.html)

Cöster 30. Sep 2006 21:02


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:
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;
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.

3_of_8 30. Sep 2006 21:04

Re: andere Farbe, wenn Maus auf Label
 
Ich glaub es gibt sowas wie MouseEnter/MouseLeave.

Cöster 30. Sep 2006 21:08

Re: andere Farbe, wenn Maus auf Label
 
Zitat:

Zitat von 3_of_8
Ich glaub es gibt sowas wie MouseEnter/MouseLeave.

Bei Labels leider nicht

mkinzler 30. Sep 2006 21:09

Re: andere Farbe, wenn Maus auf Label
 
In neueren Delphi-Versionen schon.

Die Muhkuh 30. Sep 2006 21:10

Re: andere Farbe, wenn Maus auf Label
 
Doch,

aber erst ab Delphi 7 (6?). Bei Delphi5 müsstest Du das von Hand nachprogrammieren.

mkinzler 30. Sep 2006 21:12

Re: andere Farbe, wenn Maus auf Label
 
Zitat:

Bei Delphi5 müsstest Du das von Hand nachprogrammieren.
Z.B. in dem du im .OnMouseMove der Form, diePositions des Mauszeigers mit der des Labels vergleichst.

turboPASCAL 30. Sep 2006 21:13

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 : Hier im Forum suchenTLabel AND OnMouseEnter

Cöster 30. Sep 2006 21:16

Re: andere Farbe, wenn Maus auf Label
 
Zitat:

Zitat von mkinzler
Zitat:

Bei Delphi5 müsstest Du das von Hand nachprogrammieren.
Z.B. in dem du im .OnMouseMove der Form, diePositions des Mauszeigers mit der des Labels vergleichst.

Das hätte dann aber ja auch keinen Vorteil gegenüber meiner Variante. Dann müsste auch bei jeder Mausbewegung eine procedure aufgerufen werden.

mkinzler 30. Sep 2006 21:19

Re: andere Farbe, wenn Maus auf Label
 
Zitat:

Dann müsste auch bei jeder Mausbewegung eine procedure aufgerufen werden.
Ja, stimmt.
[Edit: Warum keine neuere Delphiversion? D5 Standard hat schließlich die gleichen Einschränkungen wie D7PE/D2005PE?]

Die Muhkuh 30. Sep 2006 21:28

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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:50 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz