Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi MDI-Mutter-Kind Probleme (https://www.delphipraxis.net/7017-mdi-mutter-kind-probleme.html)

DBman 30. Jul 2003 11:39


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:
procedure Tform_Haupt.Kind11Click(Sender: TObject);
begin
form_Kind1 := Tform_kind1.Create(Self);
form_Kind1.WindowState:=wsMaximized;
form_kind1.Show;
end;
Kindunit:
Delphi-Quellcode:
procedure Tform_kind1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
Jetzt mein PROBLEM :
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: ?

phlux 31. Jul 2003 18:02

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:
//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)
So hoffe ich habe dir damit erstmal geholfen.

Greets phlux :hi:

DBman 31. Jul 2003 18:47

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