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