![]() |
Delphi-Version: 7
CS_DROPSHADOW auf TForm wird erst bei Alt+TAB angezeigt
Hallo zusammen,
ich hab eine Basisklasse für verschiedene modale Dialoge erstellt und will für diese Dialoge haben, dass da immer ein Schatten angezeigt wird. Die Basisklasse setzt BorderStyle auf bsNone. Um den Schatten anzuzeigen verwende ich CS_DROPSHADOW in CreateParams:
Delphi-Quellcode:
Jetzt hab ich aber das Problem, dass der Schatten erst dann angezeigt wird, wenn ich mit Alt+TAB in ein anderes Programm wechsle, als ob die Form nicht komplett gezeichnet werden würde. Kann ich das irgendwie erzwingen, dass der Schatten gezeichnet wird.
procedure TBorderlessDialog.CreateParams(var Params: TCreateParams);
const CS_DROPSHADOW = $00020000; begin inherited CreateParams(Params); with Params do begin Style := WS_POPUP; WindowClass.Style := WindowClass.Style or CS_DROPSHADOW; end; end; Achja: Interessant könnte auch noch sein, dass es manchmal auch sofort funktioniert. Ich weiß da echt nicht mehr weiter. Optional freue ich mich auch über Tips, wie man anderweitig einen Schatten um ein rahmenloses Fenster zeichnen könnte. Oder im Idealfall gleich um eine Fertige Basisklasse, die das übernimmt :-) |
AW: CS_DROPSHADOW auf TForm wird erst bei Alt+TAB angezeigt
![]() Zitat:
![]() Zitat:
|
AW: CS_DROPSHADOW auf TForm wird erst bei Alt+TAB angezeigt
Danek für die Antwort, aber das versteh ich nicht ganz.
Ich weise ich den Style WS_POPUP im CreateParams zu. Was muss ich noch machen, um ein Fenster als WS_POPUP zu erzeugen? Desweiteren die Sache mit den Top-Level Windows: Heißt das, dass das nie zuverlässig funktionieren wird, wenn es sich um Dialoge in einer Anwendung handelt? Hier die Stelle, an der ich ein solches Fenster erzeuge:
Delphi-Quellcode:
if formGetBookmark = nil then
formGetBookmark := TFormGetBookmark.Create(Application); formGetBookmark.ShowModal; formGetBookmark.Free; formGetBookmark := nil; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:23 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