Энциклопедия C++ Builder




ИСПОЛЬЗОВАНИЕ И СОЗДАНИЕ ВИЗУАЛЬНЫХ КОМПОНЕНТ - часть 43


Листинг 6.16. Добавления в файл LED.cpp модуля компоненты.

Установленные конструктором значения членов данных по умолчанию па вятся в окне Инспектора объектов при создании объекта индикатора. Дейстительно, при помещении компоненты на форму конструктор вызывается автоматически. В результате появляется возможность менять значения свойств компоненты не только во время выполнения программы, но и на стадии проектирования приложения. *

6.8.4 Испытание компоненты

Теперь, когда мы закончили с написанием текста модуля компоненты, проверим работает ли она.

=> С помощью команды File | Save All сохраните все сделанные добавления. => Выбрав вкладку LEDForm.cpp в окне Редактора кода, по команд File | Include Unite Hdr включите строку

#include "LED. h" в заголовок файла формы. По неведомой причине, эта команда не работает с файлом LEDForm.h, поэтому строку

#include "LED.h"

приходится вставлять вручную. К секции private этого же файла добавьте описание объекта индикатора:

private: // User declarations TLED* LED1;

=> Активизируйте форму Formi и в окне Инспектора объектов дважды щелкните мышью в графе значений события OnCreate. С помощью Редактора кода введите обработчик этого события в файл LEDForm.cpp.

Следующий код создаст компоненту TLED динамически (определяя ее родителя Parent и помещая в в центре родительской формы) во время выполнения тестового приложения:

void_fastcall TFormI::FormCreate(TObject *Sender)

t

LED1 = new TLED(this);

LED1->Parent = this;

// Центрировать компоненту по ширине формы LEDl->Left = (Width/2)-(LEDl->Width/2);

// Центрировать компоненту по высоте формы LEDl->Top = (Height/2)-(LEDl->Height/2);

}

Чтобы кнопка управляла индикатором, дважды щелкните мышью в графе значений события OnClick объекта Buttoni в окне Инспектора объектов. С помощью Редактора кода введите следующую инструкцию в тело обработчика события:

void_fasfccall TPormI::ButtonlClick(TObject *Sender) (

LEDl->LEDOn = !LEDl->LEDOn;




Содержание  Назад  Вперед