In tale ambito è possibile e come si fa, che nella procedure di una MDI Child Window (Child Window Procedure), ad evitare di creare i controlli a colpi di CreateWindowEx(...), pensando a form che hanno decine di controlli si deve scrivere un mucchio di codice;

ho tentato una soluzione:
- creato la MDI Client, figlia della Frame Window con CreateWindowEx(...)

- creato le Child come finestra di dialogo direttamente dalle risorse con il CreateDialogParam(...)


i problemi si hanno ovviamente con la gestione dei messaggi visto che:

- la window procedure delle dialog devono ritornare FALSE per i messaggi non processati e TRUE per quelli processati.
- mentre nella procedure di una MDI Child Window canonica si usa DefMDIChildProc(hwnd, msg, wParam, lParam);

e nel loop dei messaggi:

- per le MDI Child Window canoniche si usa TranslateMDISysAccel
- mentre nelle Modelles dialogs (WS_CHILD) invece IsDialogMessage

se usi IsDialogMessage non hai modo di di gestire Ctrl+F6, Ctrl+F4
se usi TranslateMDISysAccel il programma si pianta quando da tastiera utilizzi il tab o inserisci in un edit ... giustamente


oltre non sono andato ... attendo suggerimenti