TPanel OnMouseMove
-
Hallo,
gibt es ein Ereigniss von TPanel wenn ich mit dem Mouse Cursor das Panel
verlasse, soetwas wie MouseLeave.
Ich ändere die Farbe des Panels beim Ereigniss OnMouseMove, verlässt der
Mousecursor nun das Panel soll die Ursprüngliche Farbe wieder hergestellt
werden.
Gruß
Johann
-
Ein OnMouseLeave gibt es meines Wissens nicht. Was du allerdings machen könntest wäre über die Maus-Koordinaten ermitteln, wo sich der Cursor befindet. Hierbei können dir Top, Left, Width und Height von TPanel weiterhelfen. Einfach prüfen wann die Koordinaten größer bzw. kleiner sind als die Breite/Höhe von TPanel.
Ich hoffe ich konnte dir verständlich machen was ich meine

-
Vielen Dank für den Tip, finde ich allerdings etwas umständlich.
Da ich das aktuelle Panel über den übergebenen Zeiger anspreche,
((TPanel*)Sender)->Color = cl3DLight, überlege ich den Zeiger
irgendwie zu speichern und beim nächsten Panel über den alten
Zeiger des vorherigen Panels die ursprüngliche Farbe wieder
zurückzusetzen.
Ich muss dazusagen das ich 20 Panels untereinander habe.TPanel* old_panel = 0; void __fastcall TForm1::Panel1MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { if(old_panel != 0) { old_panel->Color = clMenu; } ((TPanel*)Sender)->Color = cl3DLight; old_panel = ((TPanel*)Sender); }Johann