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


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


Затем мы проверяем, создано ли окно Client Window, и не свернуто ли оно в пиктограмму. Если с окном все в порядке, устанавливаем для него новое расположение и размеры, оставляя место для окон Toolbar и Statusbar:

if(wParam != SIZEICONIC && hwndClient) { MoveWindow(hwndClient, 0, // x-координата TBAR_SIZE, // y-координата LOWORD(lParam), // ширина HIWORD(lParam) - (TBAR_SIZE + SBAR_SIZE), // высота TRUE); // требуется перерисовка окна return 0; } break;

Еще раз обращаем ваше внимание на то, что обработанное сообщение WM_SIZE нельзя отдавать функции DefFrameProc, поэтому после вызова функции MoveWindow мы выполняем возврат из функции окна оператором return.

При регистрации классов для окон Toolbar и Statusbar мы указали соответствующие функции окна. Эти функции определены в нашем приложении и называются TbWndProc (для окна Toolbar) и SbWndProc (для окна Statusbar). Эти функции полностью определяют поведение окон Toolbar и Statusbar, выполняя обработку предназначенных для них сообщений. В нашем случае мы просто рисуем в центре этих окон их названия, вызывая функцию DrawText.

В листинге 1.6 вы найдете файл mditb.hpp, содержащий определения констант для размеров окон Toolbar и Statusbar, а также для работы с меню.




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



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