Ecco un approccio che è possibile utilizzare:
1) Creare le forme individuali come normale, tranne usare un TLayout, chiamarlo "LayoutMain", (alClient allineato) come padre di tutti i controlli su tale modulo.
2) Sul "modulo principale", quando si desidera portare un'istanza di modulo in comportarsi come se fosse un'interfaccia MDI, creare un TLayout (chiamarlo "FormContainer" o qualcosa), posizionare come figlio di (allineato in alto) un altro TLayout (chiamalo "FormHeader"), contenente i singoli controlli per i sottotitoli Form, i pulsanti Riduci/Ingrandisci/Chiudi e qualsiasi altra cosa desideri sull'intestazione "frame". Questo è chiamatoComposito.
3) Creare un'istanza del form figlio (ma non mostrarlo), poi di padre che di istanza primaria TLayout "LayoutMain" per il vostro modulo principale TLayout "FormContainer".
4) Sul TLayout precedentemente menzionato (con il nome "FormHeader"), assegnarlo agli eventi OnMouseDown
e OnMouseMove
per consentire di trascinarlo attorno al Modulo master.
Quando si desidera massimizzare il modulo figlio all'interno del modulo principale, è sufficiente impostare la proprietà di allineamento "FormContainer" di TLayout esterno su alClient, ricordando di memorizzare i valori Top, Left, Width e Height originali all'interno del modulo istanza in modo da poterli richiamare quando si preme il pulsante Ripristina.
Vero, questa è una soluzione abbastanza coinvolta, ma per quanto ne so, questo è l'unico modo per ottenere ciò che stai cercando di fare con FireMonkey così com'è oggi (circa Aggiornamento 2).
Non mi aspetto che Embarcadero fornisca qualsiasi forma di emulazione MDI come parte di FireMonkey "out of the box", poiché l'MDI è considerato un approccio obsoleto.
La soluzione più moderna sarebbe utilizzare Docking, come fa lo stesso RAD Studio IDE. Ciò fornisce il meglio di entrambi i mondi, dando all'utente la libertà di scegliere quali forme figlio si desidera collegare al modulo principale, o visualizzare al di fuori di quello da soli (o qualsiasi combinazione di arrangiamenti ancorati).
Suppongo che sarebbe stato risolto alla fine poiché gli aggiornamenti XE2 sono ancora rilasciati. – Kromster