Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Hovereffekt bei Editfeldern/Buttons/usw. (https://www.delphipraxis.net/61146-hovereffekt-bei-editfeldern-buttons-usw.html)

marabu 17. Jan 2006 19:38

Re: Hovereffekt bei Editfeldern/Buttons/usw.
 
Vielleicht - aber doch nicht ausschließlich. Allerdings ist der Hover-Effekt von XP nicht blau, sonder eher caramel.

marabu

Sharky 17. Jan 2006 19:40

Re: Hovereffekt bei Editfeldern/Buttons/usw.
 
So oder so,

ich habe hier mal schnell etwas getippelt:

Delphi-Quellcode:
const
  HoverColor: TColor = TColor($00733800);
  FocusColor: TColor = clBlue;

procedure DrawControlRect(AHandel: HWND; AColor: TColor);
 // Diese Procedure habe ich im großen und ganzen bei
 // den Jedis "geklaut"
var
  LHDC:   HDC;
  LRect:  TRect;
  LCanvas: TCanvas;
begin

  LHDC := GetWindowDC(AHandel);
  try
    GetWindowRect(AHandel, LRect);
    OffsetRect(LRect, -LRect.Left, -LRect.Top);
    LCanvas := TCanvas.Create;
    with LCanvas do
    begin
      try
        Handle := LHDC;
        Brush.Color := AColor;
        FrameRect(LRect);
        InflateRect(LRect, -1, -1);
        FrameRect(LRect);
      finally
        Free;
      end;
    end;
  finally
    ReleaseDC(AHandel, LHDC);
  end;
end;

procedure TForm1.AllEditEdit(Sender: TObject);
begin
  DrawControlRect((Sender as TWinControl).Handle, FocusColor);
end;

procedure TForm1.AlleditExit(Sender: TObject);
begin
  (Sender as TWinControl).Perform(CM_RECREATEWND, 0, 0);
end;

procedure TForm1.AllEditMouseEnter(Sender: TObject);
begin
  with (Sender as TWinControl) do
  begin
    if not (Focused) then
    begin
      DrawControlRect(Handle, HoverColor);
    end;
  end;
end;

procedure TForm1.AllEditMouseLeave(Sender: TObject);
begin
  with (Sender as TWinControl) do
  begin
    if not (Focused) then
    begin
      (Sender as TWinControl).Perform(CM_RECREATEWND, 0, 0);
    end;
  end;
end;

arest 17. Jan 2006 20:05

Re: Hovereffekt bei Editfeldern/Buttons/usw.
 
danke für eure hilfe, ich verstehe zwar nicht so recht, was du da alles machst, aber ich gucke es mir noch in ruhe an, im übrigen habe ich jetzt dieses xpmenu gefunden un installiert... es funktioniert halbwegs so wie ich es mir vorgestellt habe. ich brauche keine weitere hilfe mehr. ihr dürft natürlich weiter diskutieren (großzügig oder? :D)


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:09 Uhr.
Seite 2 von 2     12   

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