Типичное приложение MDI необходимо зарегистрировать два класса окна: один для его фрейма окна и один для его дочерних окон. Если приложение поддерживает несколько типов документа (например, электронную таблицу и диаграмму), он должен зарегистрировать класс окна для каждого типа.
Структура классов для фрейма окна похож на структуру классов для главного окна в приложениях MDI. Структура классов для дочерних MDI-окон несколько отличается от структуры для дочерних окон в приложениях MDI следующим:
В следующем примере показано, как Multipad регистрирует его рама и ребенок окно классов.
BOOL WIN&API InitializeApplication() {WNDCLASS туалет;
/ / Регистрация класс дочернего фрейма окна.
WC.Style = 0;
WC.lpfnWndProc = MPFrameWndProc (WNDPROC);
WC.cbClsExtra = 0;
WC.cbWndExtra = 0;
WC.hInstance = hInst;
WC.hIcon = LoadIcon (hInst, IDMULTIPAD);
WC.hCursor = LoadCursor((HANDLE) NULL, IDC_ARROW);
WC.hbrBackground = (HBRUSH) (COLOR_APPWORKSPACE + 1);
WC.lpszMenuName = IDMULTIPAD;
WC.lpszClassName = szFrame;
Если (!.RegisterClass (amp; wc)) вернуть значение FALSE;
/ / Регистрация класс дочернего окна интерфейса MDI.
WC.lpfnWndProc = MPMDIChildWndProc (WNDPROC);
WC.hIcon = LoadIcon (hInst, IDNOTE);
WC.lpszMenuName = NULL (LPCTSTR);
WC.cbWndExtra = CBWNDEXTRA;
WC.lpszClassName = szChild;
Если (!.RegisterClass (и санузел)) вернуть значение FALSE;
Возвращает значение TRUE;
}