![]() |
Panel color ändern beim Verlassen vom Panel
Hallo zusammen
ich möcht ein Panel mit einer anderen Farbe befüllen wenn der Mauszeiger sich über dem Panel befindet.
Code:
habe aber Schwierigkeiten wenn der Mauszeiger nicht mehr
procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin case TComponent(Sender).Tag of 10: begin Panel1.Color := clAqua; end; 20: begin Panel2.Color := clAqua; end; 30: begin Panel3.Color := clAqua; end; end; end; über dem Panel ist die Farbe wieder umzustellen z.B. auf clBtnFace. :gruebel: Kann mir vielleicht jemand einen Tipp geben wie ich feststellen kann das der Mauszeiger nicht mehr über dem Panel ist. Schöne Grüsse Tau PS. Ich hoffe ich habe mich verständlich ausgedrückt. |
Re: Panel color ändern beim Verlassen vom Panel
Wenn ich das jetzt richtig verstanden habe, gibts für mich da zwei lösungen:
1.) du setzt die anderen bei der Mausbewegung alle Panel.Color auf btnFace und änderst dann die Frabe oder 2.) du nimmst die Brechstange und guckst alle 1000 msecs wo sich der mauszeiger befindet und änderst dem entsprechend die farbe... der quelltext für variante 1.) würde imho ungefähr so aussehen:
Delphi-Quellcode:
procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var i: Integer; begin //--->Einafch bei allen Panels Color auf BtnFace setzten for i:= 0 to 3 do //können auch mehrere sein ;) (Form1.FindComponent('Panel' + IntToStr(i)) as TPanel).Color:= BtnFace; //--->/Fertisch^^ case TComponent(Sender).Tag of 10: begin Panel1.Color := clAqua; end; 20: begin Panel2.Color := clAqua; end; 30: begin Panel3.Color := clAqua; end; end; end; |
Re: Panel color ändern beim Verlassen vom Panel
Du könntest auch das "OnMouseMove" des Parents nutzen, bspw. der Form, denn wenn man den Mauszeiger von Panel runternimmt kommt er ja auf die Fläche darunter (ausgenommen, die Panels liegen alle nebeneinander und das Parent ist nciht sichtbar).
MfG Pr0g |
Re: Panel color ändern beim Verlassen vom Panel
Hallo GimbaR / Pr0g
Code:
habe es versucht aber leider bekomme ich eine Exception ( Zugriffsverletzung bei Adresse 00000070 )
//--->Einfach bei allen Panels Color auf clBtnFace setzten
for i:= 0 to 3 do //können auch mehrere sein ;) (Form1.FindComponent('Panel' + IntToStr(i)) as TPanel).Color:= clBtnFace; //--->/Fertisch^^ PrOg wenn ich einen zu geringen abstand zwischen den Panel habe oder ich fahre mit der Maus etwas schnelle über die Panel dann klappt es leider nicht. Einige Panel bleiben Färbig. :wall: gibt es noch andere Vorschläge :?: Schöne Grüße, Tau |
Re: Panel color ändern beim Verlassen vom Panel
Zitat:
Christian Seehase hat in diesem ![]() |
Re: Panel color ändern beim Verlassen vom Panel
Hallo Sharky
währst du eine Frau dann würde ich dich Küssen. aber trotzdem :dancer2: :witch: Danke :witch: :dancer2: ist genau das was ich gesucht habe. schöne Grüße, Tau :hi: |
Re: Panel color ändern beim Verlassen vom Panel
Bei JvPanel (JEDI) gibt es eine Eigenschaft "HotTrack : Boolean". :wink:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:52 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