![]() |
Dynamisch erstelltes Form immer "on Top"
Hallo,
ich habe zwar schon die Suche bemüht, aber leider nicht das passende gefunden. Problem ist folgendes: Ich erstelle Forms zur Laufzeit, die ich zur Designzeit visuell angepasst habe. Das funktioniert auch gut. Es wird erzeugt, geladen, angezeigt und wieder freigegeben. Doch das Form ist leider applikationsintern ständig im Vordergrund. D.h öffne ich jetzt FireFox, verschwindet das dynamische Form hinter dem FireFox. Aktiviere ich aber in meinem Programm Form1, so bleibt das neue Form deaktiviert im Vordergrund. Hier mal der relevante Quelltext:
Delphi-Quellcode:
So, das ist der simple Code. FormStyle steht natürlich auf "fsNormal".
frmQuerverweis:=TfrmQuerverweis.Create(Form1);
frmQuerverweis.LadeUndZeigeArtikel(AnsehenLinks[k].ID); frmQuerverweis.Show; Break; //Schleife verlassen Was könnte dieses Verhalten verursachen? Danke |
AW: Dynamisch erstelltes Form immer "on Top"
Ich push dann mal ganz vorsichtig ;)
Danke. |
AW: Dynamisch erstelltes Form immer "on Top"
Hallo,
ich kann mir das gerade nicht ganz vorstellen. Wäre es möglich, dass du eine kleine Demo dazu machst mit Source-Code? Grüße, Matze |
AW: Dynamisch erstelltes Form immer "on Top"
Liste der Anhänge anzeigen (Anzahl: 1)
Na klar, hier ist es...!
Das Problem ist, dass das Form, welches durch Klick auf den Button erstellt wurde, nie hinter dem MainForm verschwindet. Ich habe Windows 7 und Delphi 2007, falls das relevant werden könnte. |
AW: Dynamisch erstelltes Form immer "on Top"
also dein demo project funktioniert bei mir, so wie es sollte. mit d2010 und d2005 getestet.
|
AW: Dynamisch erstelltes Form immer "on Top"
Liste der Anhänge anzeigen (Anzahl: 2)
Soll das heißen, dass das erzeugte Formular beim Anklicken der MainForm komplett hinter der MainForm verschwindet?
Hier mal zwei Bilder. Einmal ist das zweite Form aktiv, beim anderen Bild wurde Form1 durck Anklicken nach Erstellen der Form2 aktiviert. |
AW: Dynamisch erstelltes Form immer "on Top"
Wenn ich Form2 über den Button erstellen lasse und dann Form1 mit der Maus anklicke, verschwindet Form2 hinter Form1, in deiner Demo (Turbo Delphi, WinXP).
Btw: Anstelle von "Create(nil)" würde ich z.B. "Create(Form1)" oder "Create(Application.MainForm)" verwenden. Ob dein Formular sonst richtig freigegeben wird, weiß ich nicht, da du aktuell keinen Owner angegeben hast. Das hat aber nichts mit deinem Problem zu tun. |
AW: Dynamisch erstelltes Form immer "on Top"
Hm....
Um die Freigabe kümmer ich mich hier bewusst nicht, da es nur ein Demo-Projekt für's Forum war. Im richtigen Programm von mir wird es natürlich freigegeben. Form1 als Owner angeben habe ich auch schon gemacht. Das ändert aber nichts an dem Anzeigeverhalten. Woran könnte das denn jetzt liegen? Was habt ihr denn für Windows-Versionen? |
AW: Dynamisch erstelltes Form immer "on Top"
Wie gesagt XP, aber ich kann es nachher auch unter Win7 testen, wenn es bis dahin keiner getan hat.
|
AW: Dynamisch erstelltes Form immer "on Top"
Das wäre nett. Vielen Dank!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:31 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