Um aplicativo MDI típico deve registrar classes de janela do dois: um para sua janela do quadro e outro para suas janelas filho. Se um aplicativo oferecer suporte a mais de um tipo de documento (por exemplo, uma planilha e um gráfico), ele deve registrar um classe de janela para cada tipo de.
A estrutura de classe de janela do quadro é semelhante à estrutura de classe para a janela principal em aplicativos não-MDI. A estrutura de classe para as janelas filho MDI difere ligeiramente a estrutura para as janelas filho em aplicativos MDI não como segue:
O exemplo a seguir mostra como Multipad registra suas classes de janela do quadro e filho.
BOOL WINAPI InitializeApplication() {WNDCLASS wc;
/ / Registrar a classe de janela do quadro.
WC.Style = 0;
WC.lpfnWndProc = (WNDPROC) MPFrameWndProc;
WC.cbClsExtra = 0;
WC.cbWndExtra = 0;
WC.HINSTANCE = hInst;
WC.hIcon = LoadIcon (hInst, IDMULTIPAD);
WC.hCursor = NULL LoadCursor((HANDLE), IDC_ARROW);
WC.hbrBackground = (HBRUSH) (COLOR_APPWORKSPACE + 1);
WC.lpszMenuName = IDMULTIPAD;
WC.lpszClassName = szFrame;
if (!.RegisterClass (amp; wc)) return FALSE;
/ / Registrar a classe de janela de filho MDI.
WC.lpfnWndProc = (WNDPROC) MPMDIChildWndProc;
WC.hIcon = LoadIcon (hInst, IDNOTE);
WC.lpszMenuName = (LPCTSTR) NULL;
WC.cbWndExtra = CBWNDEXTRA;
WC.lpszClassName = szChild;
if (!.RegisterClass (& wc)) retornam FALSE;
retornar TRUE;
}