![]() |
Hovereffekt bei Editfeldern/Buttons/usw.
Hallo Leute,
hab ne kurze und wahrscheinlich sehr simple Frage. Wie kann ich diesen "Hovereffekt" erzeugen, der in diversen Programmen vorkommt? Sprich, ich fahre mit der Maus über ein Editfeld und dadurch verändert sich der "Rand" also, der Border, auf eine blaue Farbe. (Nix Code?!) (bin nicht sicher, wie die programmiersprache ist -.- ich benutze halt borland delphi 6 :D ) mfg arest |
Re: Hovereffekt bei Editfeldern/Buttons/usw.
Herzlich Willkommen!
Ich denke das schaffst du nur wenn du den Button im Canvas neu zeichnest. |
Re: Hovereffekt bei Editfeldern/Buttons/usw.
okay, canavas habe ich weniger als 0 ahnung von... gibt es sonst noch irgendeine andere möglichkeit dies umzusetzen?!
|
Re: Hovereffekt bei Editfeldern/Buttons/usw.
Hi, ich vermute fast, dass du die ganz normalen XP Standard Animationen meinst, die man in eigenen Programmen über das XPManifest aktiviert. Wenn nicht, dann ignoriere einfach diesen Beitrag.
Grüße vom marabu |
Re: Hovereffekt bei Editfeldern/Buttons/usw.
ich hab ja ne ganze weile gesucht, aber keine ahnung, was du mit diesem xp-manifest meinst -.- kannst de das maybe bisschen erläutern?!
|
Re: Hovereffekt bei Editfeldern/Buttons/usw.
Hai arest,
wenn Du zufällig die aktuelle Version der Jedi-VCL installiert hast ist dort ein Edit dabei welches das so macht wie Du möchtest. |
Re: Hovereffekt bei Editfeldern/Buttons/usw.
herje, dass die leute hier immer so unschlüssige sachen zum besten geben :D woher soll ich (guck mal wieviele beiträge ich habe) denn wissen was das ist? any help is welcome^^
|
Re: Hovereffekt bei Editfeldern/Buttons/usw.
:stupid:
Die ![]() |
Re: Hovereffekt bei Editfeldern/Buttons/usw.
Und XPManifest ist eine Komponente aus der Win32-Palette (bei D7) - trag mal möglichst bald die von dir verwendete Delphi-Version in deinem Profil ein, damit man weiß, wie man dir helfen muss.
marabu |
Re: Hovereffekt bei Editfeldern/Buttons/usw.
@marabu:
Ist dieser "Hovereffekt" nicht eine Eigenschaft von .NET Edits und Co? |
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 |
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; |
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:03 Uhr. |
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