Erstellen von MDI-Formular unter Normalen Formular, und öffnen Sie ein MDI Kind unter MDIForm Fehler
Dies ist mein erstes Thema
In der gleichen Anwendung:
Ich Habe eine NormalForm (Mainform), dass in ein Popupmenu aufrufen, die MDI-Formular wie dieses:
MDIForm:=TMDIForm.Create(nil);
MDIForm.Show;
Die Formulare ordnungsgemäß geöffnet... Nun, in der MDI-form, die ich versuche zu erstellen MDIChild mit:
fm := TMDIChild.Create(Self);
fm.FormStyle:=fsMDIChild;
fm.Show;
Abrufen die Fehlermeldung:
Cannot Create Form. Keine MDI-Formulare aktiv sind
Jemand weiß wie man das tun?!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht mischen, form Stile wie die. Ein untergeordnetes MDI-Formular erwartet, dass das Hauptformular der Anwendung ist ein MDI-Formular. Die VCL-code nicht zu sehen, wenn alle MDI-Formulare verfügbar sind, wenn das Kind erstellt wird.
Application.MainForm
, ist das MDI-Formular. Sie müssen es so machen.Die VCL nicht nativ unterstützen, was Sie versuchen. Es erfordert die app
MainForm
festgelegt werden, umFormStyle=fsMDIForm
, und es nur sieht in der MainForm. Ihre MainForm nicht so.Dies ist eine VCL-Einschränkung, nicht eine Windows-Einschränkung. Ist es möglich dies zu umgehen und die Nutzung untergeordnete MDI-Formulare in anderen, nicht-MainForm Formen, aber es erfordert durchaus ein Stückchen hacken der VCL-Quellcode. Sehen dieses Beispiel und diese QC-Bericht.