Thema: Delphi Hover-Effekt für Panel

Einzelnen Beitrag anzeigen

jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

Re: Hover-Effekt für Panel

  Alt 27. Dez 2006, 17:20
Zitat von Andreas L.:
onEnter und onExit habe ich auch schon probiert, geht auch nicht...
Das ist ja auch klar, denn OnEnter und OnExit beziehen sich auf den Focus. Und der ändert sich nicht, wenn man mit der Maus über ein Control fährt (obwohl, da gibt es irgendein Tool das das so macht, wird aber auf dauer sehr lästig).

Da ich annehme, dass du keine eigene Panel-Komponenten von TPanel ableiten willst, könntest du das so lösen:
Delphi-Quellcode:
private
  FOrgPanelWndProc: TWndMethod;

  procedure PanelWndProc(var Msg: TMessage);
end;

procedure TForm1.FormCreate(...);
begin
  FOrgPanelWndProc := Panel1.WindowProc;
  Panel1.WindowProc := PanelWndProc;
end;

procedure TForm1.FormDestroy(...);
begin
  Panel1.WindowProc := FOrgPanelWndProc;
end;

procedure TForm1.PanelWndProc(...);
begin
  FOrgPanelWndProc(Msg);
  case Msg.Msg of
    CM_MOUSEENTER:
      begin end; // Farbe ändern
    CM_MOUSELEAVE:
      begin end; // Farbe ändern
  end;
end;
  Mit Zitat antworten Zitat