Thema: Delphi Hover-Effekt für Panel

Einzelnen Beitrag anzeigen

Andreas L.
(Gast)

n/a Beiträge
 
#5

Re: Hover-Effekt für Panel

  Alt 27. Dez 2006, 17:23
Zitat von jbg:
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;
Ich werde das gleich mal ausprobieren

Danke
  Mit Zitat antworten Zitat