![]() |
Unabhängige neue TForm erzeugen
Hi!
Ich habe eine TForm (Form2) die zu Programmstart in einem anderem Form (Form1) liegt. Bei Bedarf soll diese jedoch auch so verwendet werden können, dass ich Form2 als eigenständiges Fenster (auch in Taskleiste sichtbar) habe und auch noch sehen kann, wenn ich Form1 minimiere (normalerweise werden alle "Client"-Forms mit minimiert...).
Code:
FContainerForm := TForm.CreateNew(NIL, 0);
with FContainerForm do begin Left := 0; Top := 0; Parent := Form1; OnKeyDown := FormKeyDown; DoubleBuffered := True; BorderStyle := bsNone; KeyPreview := True; if not isDeveloperMode then begin FormStyle := fsStayOnTop; end; Show; Align := alClient; end; |
Re: Unabhängige neue TForm erzeugen
Moin auch! :hi:
Wenn du beim Create Application übergibt geschiet das doch automatisch, oder? |
Re: Unabhängige neue TForm erzeugen
Zitat:
Du kannst dein Form "eigenständig" anzeigen lassen, indem du folgendes machst:
Delphi-Quellcode:
Danach verhält es sich aber nicht mehr unbedingt so, wie es sich zuvor verhalten hat. Möglicherweise muss die Eigenschaft ControlStyle auch angepasst werden (z.B. bei TButton nötig, wenn man ihn auf den Desktop legt und weiterhin seine Klicks in der Ursprungsanwendung empfangen möchte). Vielleicht muss auch an anderen Stellen noch eingegriffen werden.
DeinForm.Parent := nil;
DeinForm.ParentWindow := GetDesktopWindow; Daher ist diese "Lösung" hier lediglich ein Ansatz. |
Re: Unabhängige neue TForm erzeugen
Hat funktioniert, vielen Dank!
Owner wurde angepasst, danke für den Hinweis. An ParentWindow hatte ich garnet gedacht! Thx. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:28 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