2011-03-21 13 views

risposta

8

No, non è possibile utilizzare la VCL standard. Solo il MainForm dell'applicazione può essere il modulo MDI. Ma dovrebbe essere possibile utilizzando Win32 direttamente come mostrato here.

+0

Fare riferimento anche al mio rapporto sul QC sullo stesso argomento (sebbene sia chiuso come "Non funzionante"): http://qc.embarcadero.com/wc/qcmain.aspx?d=12006 –

+0

Ci scusiamo per riproduzione in ritardo (dato che sono stato coinvolto in altri progetti). Non ha funzionato. Scusate. Quando creo il secondo modulo mdi, le sue finestre figlio sono dipinte nella forma principale. – zoomz

0

Non credo sia possibile nel VCL. A quanto ho capito, si suppone che il modulo MDI sia il modulo principale (Application.MainForm). Immagino che le routine di Windows sottostanti non abbiano una tale ipotesi, ma penso che la VCL non ti permetta di farlo senza un serio hacking.

In vari punti del framework VCL, i messaggi MDI importanti vengono inviati a Application.MainForm.ClientHandle. Ora, ClientHandle è il contenitore MDI, ma per qualche motivo il contenitore per il modulo principale è stato individuato.

Problemi correlati