Операционная система Microsoft Windows 3.1 для программиста -том 3


Листинг 1.12. Файл smartpad/toolbar.hpp - часть 3


// Идентификатор кнопки (HMENU)(nPosition + TbMain::nFirstId),

TbMain::hInst, NULL); return TRUE; }

// ====================================================== // Конструктор для класса Toolbar // ====================================================== Toolbar(HINSTANCE hInst, HWND hwndParent, int nFirstid);

// ====================================================== // Деструктор для класса Toolbar // ====================================================== ~Toolbar();

// Проверка признака ошибки int Error(void) { return errno; }

// Определение координат окна TOOLBAR virtual int GetRectLeft(void) { return 0; } virtual int GetRectTop(void) { return 0; } virtual int GetRectRihgt(void) { return rcParent.right; } virtual int GetRectBottom(void) { return 26; }

// Определение кисти для окна TOOLBAR virtual HBRUSH GetBrush(void) { return GetStockBrush(LTGRAY_BRUSH); }

// Определение расположения кнопки исходя из ее номера virtual int GetBtnX(int nPosition) { return 3 + (nPosition * 30); }

virtual int GetBtnY(int nPosition) { return 3; }

// Определение размеров кнопки virtual int GetBmpWidth(void) { return 30; } virtual int GetBmpHeigt(void) { return 20; } };

В этом файле определен также класс TbMain, все члены которого описаны как статические. Такой класс можно использовать вместо набора глобальных переменных, что улучшает структуру программы.

В классе TbMain хранится идентификатор приложения hInst, три массива, в которых хранятся идентификаторы изображений bitmap для кнопок в исходном (hbmpUp), нажатом (hbmpDown) и заблокированном (hbmpGrayed) состоянии, идентификатор родительского окна, на поверхности которого создается Toolbar, идентификатор самой левой кнопки в окне Toolbar (nFirstId). Все перечисленные выше переменные должны быть доступны для методов класса Toolbar и для функции окна Toolbar.

В классе Toolbar определены переменные, предназначенные для хранения размеров родительского окна и окна Toolbar, имени класса Toolbar, идентификаторов кнопок, кода ошибки.




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