|
Программирование >> Программирование на языке c++
подключение средств меню к главному окну; конструирование окна статуса; > конструирование окна управления (содержащего, например, иконки с картинками); подключение окон статуса и управления к главному окну; > изменение атрибутов главного окна; > подключение к главному окну таблицы ускорителей (таблицы активных клавиш); установка новой иконки, которая используется вместо заданной по умолчанию иконки, когда размер главного окна будет минимизирован. Фрагмент 6. Здесь описывается главная функция программы с именем OwlMain. У нее два аргумента, которые имеют то же назначение, что и первые два аргумента функции main в программах на языках C/C++. 9.5. Средства управления Базовым классом для всех средств управления (управляющих объектов) является TControl, который наследуется из класса TWindow. Рис. 9.23 поясняет 5 главных задач, которые являются общими для всех управляющих объектов [12]. Рассмотрим пример, показывающий решение перечисленных задач для таких средств управления, как простейшие кнопки (в комментариях к программе цифрами указаны номера задач на рис. 9.23). #include <owl\button.ii> #include <owl\applicat.ii> #include <owl\framewin.ii> #define BUTTONJDI 101 Эти три описания идентифика-#define BUTrON ID2 102 торов кнопок следует включить #define BUTT0NJD3 103 в специальный файл заголовка class DrawButton : public TWindow public: DrawButton(TWindow* parent = 0); Компоненты-данные КомпонешЫ функцни !) Чтобы сконструировать \прав.1яющий объект.
< имн класса >правлення -*\ка 1а1ель на упран:1Я101цин обьект KoHCip\KiOp дпилиел1Акоиж 2) KoHCipyKTop >правля101це1 о ()б1А:кта можно т.гшап, в копсрукгорс mnqxlieiicnoro обьекча ро.чигеля \ ка la ель на \ правля1оти11 (>бьекг - new консп)>кго1) >П1)а11ЛЯ10Н1С1 о о6ьека newкопсг[)>х10р )прав.тяюпю1 о оЙ1,ек1а Пример: Конс1р\ктор управляюгцего объекта Юм-выбор средства I >правления 3) Вы МОЖС1С тмеиить наследуемые из класса TWindow азрнбу1Ъ1 (исполыунте яля этих пелен логические операции с битами) Можно выпоганггь допогалггелъную шнишалазанию в ф>11кции Setup Window (здесь не следует забывать о вызове ф\1гкцин SetupWindow для базового класса) создаст q)eACTBa >правления ребенка 5) Взанмодейсчвисс управляющими объектами осуществляется через уникальный ш1ен1ификатор (ID), коюрый определяется в npoipaMMe и задастся в качестве ojmoro из параморов конст]>укз ору Рис. 9.23. Задачи, которые являются общими для всех управляющих объектов TButton *Button1; 1 void Hand B1(); 5 void Hand B2(); 5 void Hand B3{); 5 protected: void SetupWindow(void); 4 DECLARE RESPONSE TABLE(DrawButton); 5 DEFINE RESP0NSE TABLE1 (DrawButtonJWindow) 5 EV C0MMAND(BUTT0NJD1,Hand B1), 5 EV COMMAND(BUTTON ID2,Hand B2), 5 EV COMMAND(BUTTON ID3,Hand B3), 5 END RESPONSE TABLE; 5 DrawButton::DrawButton(TWindow* parent) : TWindow(parent,0,0) Buttoni = new TButton(this3UTTON ID1, my but1 ,100, 50,80,30); 2 значение TRUE последнего параметра задает активную кнопку new TButton(this,BUTTONJD2, my but2 , 100,150,80, 30,TRUE); 2 new TButton(this,BUTTON ID3, my but3 ,100,250,80,30); Button1->Attr.Style = WS BORDER; 3 void DrawButton::Hand B1() 5 { MessageBoxCButton 1 is pressed ); } 5 void DrawButton::Hand B2() 5 { MessageBox( Button 2 is pressed ); } 5 void DrawButton::Hand B3() 5 { MessageBox( Button 3 is pressed ); } 5 void DrawButton::SetupWindow() 4 { 4 TWindow::SetupWindow(); 4
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |