![]() |
Panel-Rahmen soll Window-Rahmen gleichen
Hi all, ich hätte da mal eine kleine Frage bezüglich der Umrandung eines Panels, und zwar:
Wie müssen hier bei einem Panel die BevelInner/Outer-Properties oder eventuell die Border-Eigenschaften gewählt werden, um dass man dabei den gleichen schwarz-weiß-grau-Farbeffekte bekommt wie er bei einem Windowrahmen üblich ist? Und bei einem Window ist das: äußerste Pixelschicht, links u. oben: Grau äußerste Pixelschicht, rechts u. unten: Schwarz zweite Pixelschicht, links u. oben: Weiß zweite Pixelschicht, rechts u. unten: DunkelGrau ..oder wie kann man diesen Effekt sonst erreichen? (eventuell indem ich den Rand direkt aufs Panel draufmale? (...nur wie ging das nochmal schnell?)) Thanks schonmal jetzte |
Re: Panel-Rahmen soll Window-Rahmen gleichen
Schau Dir mal den Beitrag inkl. Source Code an, damit solltest Du weiterkommen ;-)
![]() ...:cat:... |
Re: Panel-Rahmen soll Window-Rahmen gleichen
Thx, aber die Tasten hatte ich schon. Es ging mir jetzt speziell nur um die graphische Umrandung des Panels, also um die zwei äußersten Pixelschalen. Das wird wahrscheinlich mit den von mir oben erwähnten Eigenschaften nicht gehen, oder? Wenn nein, sollte man den Rahmen dann direkt aufs Panel draufmalen, oder wäre es besser, pro Linie die ich da haben will, dort dann ein entsprechendes Image abzulegen?
|
Re: Panel-Rahmen soll Window-Rahmen gleichen
War es schon, Du musst nur ein wenig den Code anpassen. Ich sagte ja auch nicht, daß dort die Lösung sei, sondern der Ansatz ;-)
Delphi-Quellcode:
...:cat:...
procedure TPanelEx.CreateParams(var Params: TCreateParams);
begin inherited; // ETWAS WENIGER STYLE Params.Style := Params.Style or WS_THICKFRAME; end; procedure TForm1.FormCreate(Sender: TObject); begin with TPanelEx.Create(Self) do begin Left := 50; Top := 50; Width := 200; Height := 300; Parent := Self; // ETWAS WENIGER BEVEL BevelInner := bvNone; BevelOuter := bvNone; end; end; |
Re: Panel-Rahmen soll Window-Rahmen gleichen
ja klappt, thx!
Und WS_THICKFRAME ist jetzt wahrscheinlich auch der normale Style für diesen DIN-Rahmen eines Formulars? Supi auch diese CreateParams bzw. TCreateParams, war mir bisher alles völlig unbekannt. (ich hatte den Rahmen inzwischen zwar schon aufs Panel draufgemalt -- mittels eines Canvas-Objektes und des umgebogenen WindowProc-Pointers des Panels, um mich an sein WM_Paint-Ereignis dranhängen zu können -- aber dieses ist natürlich jetzt trotzdem wieder viel umständlicher als deine Lösung.) cool ! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:11 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