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


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


// ===================================== // Функция ChildWndProc // ===================================== LRESULT CALLBACK _export ChildWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; RECT rc; switch (msg) { case WM_PAINT: { hdc = BeginPaint(hwnd, &ps); GetClientRect(hwnd, &rc); DrawText(hdc, "Child Window", -1, &rc, DT_SINGLELINE | DT_CENTER | DT_VCENTER); EndPaint(hwnd, &ps); } default: break; } return DefMDIChildProc(hwnd, msg, wParam, lParam); }

// ===================================== // Функция TbWndProc // ===================================== LRESULT CALLBACK _export TbWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; RECT rc; switch (msg) { case WM_PAINT: { hdc = BeginPaint(hwnd, &ps); GetClientRect(hwnd, &rc); DrawText(hdc, "Toolbar Window", -1, &rc, DT_SINGLELINE | DT_CENTER | DT_VCENTER); EndPaint(hwnd, &ps); } default: break; } return DefMDIChildProc(hwnd, msg, wParam, lParam); }

// ===================================== // Функция SbWndProc // ===================================== LRESULT CALLBACK _export SbWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; RECT rc; switch (msg) { case WM_PAINT: { hdc = BeginPaint(hwnd, &ps); GetClientRect(hwnd, &rc); DrawText(hdc, "Statusbar Window", -1, &rc, DT_SINGLELINE | DT_CENTER | DT_VCENTER); EndPaint(hwnd, &ps); } default: break; } return DefMDIChildProc(hwnd, msg, wParam, lParam); }

На этапе инициализации приложения функция InitApp регистрирует классы для окон Frame Window, Document Window, а также для окон Toolbar и Statusbar. Эта процедура не имеет никаких особенностей. Отметим только, что вы можете изменить форму курсора мыши для окна Toolbar, указав нужный идентификатор курсора в поле hCursor структуры WNDCLASS перед регистрацией класса, или задать цвет окна Toolbar.

Окна Toolbar и Statusbar создаются в функции окна Frame Window при обработке сообщения WM_CREATE:




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



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