Thema: Delphi Hover-Effekt für Panel

Einzelnen Beitrag anzeigen

Andreas L.
(Gast)

n/a Beiträge
 
#1

Hover-Effekt für Panel

  Alt 27. Dez 2006, 17:11
Hi,
ich möchte einen Panel eine Art Hover-Effekt geben. Das heißt ist die Maus über den Panel soll es eine andere Farbe haben als wenn die Maus nicht über den Panel ist.

Ich habe versucht das mit den OnMouseMove-Eregnis zu realisieren. Funktioniert jedoch nicht.

Delphi-Quellcode:
procedure Tfrm_Designer.pnl_ShowHideSideBarMouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
var
 BarPosition: TPoint;
begin

 BarPosition := ClientToScreen(Point(pnl_ShowHideSideBar.Left, pnl_ShowHideSideBar.Top));

 //mouse is not in panel?
 if X > BarPosition.X + 8 then
  begin

   pnl_ShowHideSideBar.Color := $00D1D8DB;

  end
 else
  begin

   pnl_ShowHideSideBar.Color := clSkyBlue;

  end;

end;
Das Panel ist 8 Pixel breit.

Ich möchte nicht in jeden onMouseMove-Ereignis jeder Komponente die Farbe des Panels setzen. Auch möchte ich auf einen ressourceenlastigen Timer verzichten. Welche Möglichkeiten gibt es noch? onEnter und onExit habe ich auch schon probiert, geht auch nicht...

Ciao,
Andy
  Mit Zitat antworten Zitat