![]() |
MDI-Mutter-Kind Probleme
Hallo ich habe (schonwiedermal) eine Frage zu MDI-Anwendungen.
Und zwar habe ich - 1 Mutterformular (form_Main) | formstyle fsMDIForm - 1 Kindformular (form_Kind1) | formstyle fsMDIChild In dem Mutterformular befindet sich ein Menü , wenn ich auf den Menüpunkt 'Kind1' klicke , so soll Kind1 created werden und dabei in dem Mutterformular MAXIMIERT sein. Beim schließen des Kindformulares muss ja dann noch mit Action:=caFree das Formular wieder freigegeben werden. Sieht im Code dann so aus: Mutterunit:
Delphi-Quellcode:
Kindunit:
procedure Tform_Haupt.Kind11Click(Sender: TObject);
begin form_Kind1 := Tform_kind1.Create(Self); form_Kind1.WindowState:=wsMaximized; form_kind1.Show; end;
Delphi-Quellcode:
Jetzt mein PROBLEM :
procedure Tform_kind1.FormClose(Sender: TObject; var Action: TCloseAction);
begin Action:=caFree; end; Beim erstellen (show) des Kindformulares erscheint das Formular zunächst in normaler Größe und wird dann quasi auf Vollbildgröße "raufgezoomt". (Ich hoffe ich hab das einigermaßen plausibel ausgedrückt :spin: ) Naja und ich möchte halt , dass das KindFormular dem User sofort als Maximiert in dem Mutterfenster bereit steht. Ich hab da auch schon probiert in dem ONcreate ereignis vom Kindformular was zu machen mit dem WindowState , weil der muss ja auch wsMaximized gesetzt werden , aber hab ich auch nich hingekriegt. HILFE!!!! ? :bounce1: ? |
Re: MDI-Mutter-Kind Probleme
Hi DBman! :hi:
Das gleiche Problem habe ich auch bei meinem TextEd, die einzige Lösung die es dafür gibt ist, für den Moment des Erstellens deiner Form das neu Zeichnen zu verhindern, was allerdings dazu führt das deine Form für einen Moment einfriert und es so aussieht als ob das Prog hängt :? Hier jedenfalls mal der code:
Delphi-Quellcode:
So hoffe ich habe dir damit erstmal geholfen.
//Vor dem erstellen/anzeigen des MDIChilds
LockWindowUpdate(Handle) //Code zum anzeigen des Childs //Nach dem erstellen wieder aufrufen um zeichnen wieder zu erlauben LockWindowUpdate(0) Greets phlux :hi: |
Re: MDI-Mutter-Kind Probleme
Hi phlux :hello:
Schön dass du mir geantwortet hast (dachte schon ich krieg hier keinen Lösungsvorschlag :freak: ) Hm naja also eigentlich ist das Ergebnis schon so wie ich mir das in der Richtung gedacht hatte: Ich klicke in einem Hauptformular auf einen Menüpunkt oder auf die Toolbar und dada : Es erscheint in voller Größe das Kindformular also der nächste Unterteil des Programmes. Aber wie du schon sagtest durch das "einfrieren" wirkt es schon so als ob das Programm hakt.Das hakt ja auch um genau die Zeit , die Windows eigentlich benötigt , um das Formular so schick "raufzuzoomen" (wie ichs eben nich haben will weil das ja für meine Zwecke nicht angemessen ist) Gibts da vielleicht nich doch noch irgendnen Trick wie man diese Zeit die das dauert auf 0 Sekunden setzt oder so.Also dass ich zum Beispiel auf den Button klicke : Klick und mit dem Ereignis OnClick ist das Formular maximiert in dem Hauptformular? Wäre echt toll wenn da noch jemand vielleicht noch mehr weiß.?!? ? :bounce1: ? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:02 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