Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Schatten unter Form
Glorfindel - Fr 16.12.05 17:15
Titel: Schatten unter Form
Tach Leute,
ist es irgendwie möglich unter einer Form eine art Schatten erscheinen zu lassen! Gibt es da nee Komponente oder einen Trick.
Wenn da einer was kennt, bitte melden.
Bis denn,
Glorfindel
Danniolo - Fr 16.12.05 18:50
Ich glaube, er meinte eher so einen Schatten, wie z.B. bei Menüs und Hints (WinXP).
Das geht ganz einfach so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| protected procedure CreateParams(var Params: TCreateParams); override;
procedure TForm1.CreateParams(var Params: TCreateParams); const CS_DROPSHADOW = $00020000; begin inherited; Params.WindowClass.Style := Params.WindowClass.Style or CS_DROPSHADOW; end; |
Heiko - Do 29.12.05 16:00
@Danniolo: Die Variante ist nicht gerade gut (ich hatte sie zuerst auch genommen). Sie funktioniert zwar, aber nur unter XP. Unter den anderen OSes lässt es sich das Projekt dann nicht mehr starten.
Die Variante hier ist besser:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| published procedure SetShadow;
procedure TForm1.SetShadow; if SHADOW then begin SetClassLong(Form1.Handle, GCL_STYLE, GetClassLong(Form1.Handle, GCL_STYLE) or CS_DROPSHADOW); end else begin SetClassLong(Form1.Handle, GCL_STYLE, GetClassLong(Form1.Handle, GCL_STYLE) xor CS_DROPSHADOW); end; FormEinstellungen.RecreateWnd; end; |
//Edit: Aufrufen musst du die aber selber (und nat. Shadow auf den gewünschten Wert setzten ;) )
BenBE - Do 29.12.05 16:21
Die Version von Dannilo sollte einfach nur erweitert werden, so dass manuell auf XP geprüft wird, was sich mit IIRC 2 Zeilen zusätzlich machen lässt (Platform abfragen und Versionsnummer >= 5 prüfen).
Heiko - Do 29.12.05 17:32
Jupp, geht auch. Bei der Version die ich gepostet habe geht es auch so (ohne OS-Abfrage) ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!