Курсовая работа: Разработка визуальных компонентов для среды С++ Builder

Свойства представляют собой расширение понятия членов данных. Разрешены любые типы свойств, за исключением файлового типа. В отличие от члена данных, свойство не хранит данные, однако его методы чтения и записи позволяют получить доступ к защищенному члену данных объекта.

C++Builder использует ключевое слово _property для идентификации свойств. Синтаксис описания свойства имеет вид:

property <тип свойства> <имя свойства> = {<список атрибутов>} ;

где список атрибутов содержит перечисление следующих атрибутов свойства:

write = < член данных или метод записи >;

read = < член данных или метод чтения >;

default = < булева константа, управляющая сохранением значения>;

stored = < булева константа или функция, сохраняющая значение >.

Рис. 2. показывает ключевые классы в иерархической структуре, от которых произведены все компоненты VCL. Каждый объект представляет некоторый набор методов, событий и свойств и имеет специальное назначение. Подобно тому как TObject является базовым классом для всех порождаемых классов, TComponent является базовым классом для всех порождаемых компонент.

Невидимые компоненты произведены от класса TComponent. Графические компоненты, не ассоциированные с оконными элементами управления, произведены от класса TGraphicControl.

Являясь оконными элементами, компоненты стандартного управления произведены непосредственно от класса TWinControl, а оригинальные компоненты - косвенно от класса TCustomControl, восходящего к TWinControl. Именно на уровне TWinControl и вводится "оконный дескриптор" (window handle).

Рис.2. Иерархия ключевых базовых классов VCL.


Разработка компоненты TRaedit

Процесс разработки компоненты TRaedit проходит через выполнение следующих этапов:

1. Создание модуля для новой компоненты.

2. Наследование производного класса от существующего базового компонентного класса.

3. Добавление нужных свойств, событий и методов.

4. Регистрация компоненты в C++Builder.

5. Отладка.

6. Инсталляция компоненты на Палитру.

7. Сохранение файлов компоненты.

Программный модуль состоит из двух файлов Raedit.срр и Raedit.h, которые компилируются в объектный файл с расширением Raedit.obj. C++Builder использует модули в различных целях - каждая форма и большинство компонент (или их логических групп) имеют свой собственный модуль.

Так как, нет необходимости создавать новый класс, можно воспользоваться уже существующим и модифицировать его. Для этой цели был выбран абстрактный компонентный класс TCustomEdit.

class PACKAGE TRaedit : public TCustomEdit

Добавим необходимые свойства в созданный класс.

__property bool TimerEnabled = {read=FTimerEnabled, write=SetTimerEnabled, default = false};

Свойство TimerEnabled отвечает за включение и отключение таймера, а следовательно и за смену текста в текстовом поле.

__property bool Random = {read=FRandom, write=FRandom, default = true};

Свойство Random определяет порядок смены текста: случайно или последовательно.

К-во Просмотров: 236
Бесплатно скачать Курсовая работа: Разработка визуальных компонентов для среды С++ Builder