Операционная система Microsoft Windows 3.1 для программиста. Дополнительные главы


Листинг 1.5. Файл mditb/mditb.cpp - часть 3


if(!aWndClass) return FALSE; return TRUE; }

// ===================================== // Функция FrameWndProc // ===================================== LRESULT CALLBACK _export FrameWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { CLIENTCREATESTRUCT clcs; MDICREATESTRUCT mdics; switch (msg) { // Устанавливаем размеры окон Toolbar, Statusbar. // Уменьшаем размер окна Client Window case WM_SIZE: { // Располагаем окно Toolbar в верхней части // окна Frame Window MoveWindow(hwndTb, 0, // x-координата 0, // y-координата LOWORD(lParam), // ширина TBAR_SIZE, // высота TRUE); // требуется перерисовка окна

// Располагаем окно Statusbar в нижней части // окна Frame Window MoveWindow(hwndSb, 0, // x-координата HIWORD(lParam) - SBAR_SIZE, // y-координата LOWORD(lParam), // ширина SBAR_SIZE, // высота TRUE); // требуется перерисовка окна

// Если окно не свернуто в пиктограмму и его // идентификатор отличен от нуля, вызываем // функцию MoveWindow if(wParam != SIZEICONIC && hwndClient) { MoveWindow(hwndClient, 0, // x-координата TBAR_SIZE, // y-координата LOWORD(lParam), // ширина HIWORD(lParam) - (TBAR_SIZE + SBAR_SIZE), // высота TRUE); // требуется перерисовка окна

// После уменьшения размеров окна нельзя // отдавать сообщение WM_SIZE функции DefFrameProc, // так как иначе размеры будут восстановлены return 0; } break; }

case WM_CREATE: { clcs.hWindowMenu = GetSubMenu(GetMenu(hwnd), 1); clcs.idFirstChild = 500;

// Создаем окно Client Window hwndClient = CreateWindow( "MDICLIENT", // имя класса окна NULL, // заголовок окна WS_CHILD | WS_CLIPCHILDREN | WS_VISIBLE | // стиль окна WS_HSCROLL | WS_VSCROLL, 0, 0, 0, 0, hwnd, // идентификатор родительского окна (HMENU)1, // идентификатор меню hInst, // идентификатор приложения (LPSTR)&clcs);// указатель на дополнительные параметры

// Создаем окно Toolbar hwndTb = CreateWindow( szTbClassName, // имя класса окна NULL, // заголовок окна WS_CHILD | WS_CLIPCHILDREN | WS_VISIBLE | WS_DLGFRAME, 0, 0, 0, 0, hwnd, // идентификатор родительского окна (HMENU)2, // идентификатор меню hInst, // идентификатор приложения NULL); // указатель на дополнительные параметры




Начало  Назад  Вперед



Книжный магазин