Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Änderungen aus CreateParams rückgängig machen? (https://www.delphipraxis.net/137258-aenderungen-aus-createparams-rueckgaengig-machen.html)

Kalfany 17. Jul 2009 07:42


Änderungen aus CreateParams rückgängig machen?
 
Morgen,

ich habe ein PopUp-Fenster welches vom Hauptfenster unabhängig ist, dazu verwende ich diesen Code, das PopUp hat BorderStyle = bsNone und FormStyle = fsStayOnTop.

nun möchte ich die Änderungen aus dem CreateParams wieder zurücknehmen, um das PopUp wieder an das Hauptfenster zu binden ... (um zwischen OnTop von allen Fenstern und OnTop vom Hauptfenster switchen zu können)

ich habe bereits das hier probiert:
Delphi-Quellcode:
 
Self.ParentWindow := Application.Handle;
// bzw. so
Self.SetParent(Application.MainForm);

himitsu 17. Jul 2009 07:55

Re: Änderungen aus CreateParams rückgängig machen?
 
das aus CreateParams dürfte etwa so rückgängg gemacht werden
(könnte aber sein, daß hier als Parent eventuell Application.Handle verwendet werden müßte :gruebel: )
Delphi-Quellcode:
SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) and not WS_EX_TOOLWINDOW);
SetParent(Handle, Application.MainForm.Handle);
und das Rückgängiggemachte dürfte man dann wiederum so rückgängig machen können :nerd:
Delphi-Quellcode:
SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW);
SetParent(Handle, GetDesktopwindow);

Kalfany 17. Jul 2009 08:04

Re: Änderungen aus CreateParams rückgängig machen?
 
Vielen Dank! Das schaut in meinem Test-Projekt schonmal gut aus ... jetzt muss es nur noch im Hauptprojekt funktionieren :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz