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



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


=> Выполните команду Component | New и в открывшемся диалоге Мастера компонент заполните поля диалога указанными значениями (Рис. 6.9). Нажмите кнопку ОК.

Рис. 6.9. Диалог Мастера компонент.

=> С помощью команды File | Save или File | Save As сохраните файл

Unitl.cpp под именем LED.cpp.

Теперь можно посмотреть в окне Редактора кода, что сделал C++Builder для подготовки нашей компоненты. Файл LED.h будет содержать объявление нового компонентного класса с конструктором, а также несколько заголовочных файлов предкомпиляции. Файл LED.cpp будет содержать пустой конструктор объекта и функцию Register для регистрации компоненты. Не слишком много для автоматизированного начала...

6.8.3 Члены данных, свойства и методы

Ознакомившись с заготовками программного модуля компоненты, которые создал для нас C++Builder, можно приступить к написанию собственно кода компоненты. Прежде всего, в файле LED.h опишем булеву переменную состояния индикатора и две переменные перечисляемого типа TColor для хранения цветов, отображающих оба состояния. Из главы 3 об основах объектно-ориентированного программирования мы знаем как ограничивать область видимости и уяснили, что эти члены данных следует спрятать в секции private объявлений класса. Там же расположим прототипы функций записи соответствующих свойств, а сами свойства объявим в секции _published (Листинг 6.15).

//---------------________________________________-_____-_--

#ifndef LEDH

#define LEDH //------------_____-_____--_________________________-___--.

#include <vcl\SysUtils.hpp>

#include <vcl\Controls.hpp>

#include <vcl\Classes.hpp>

#include <vcl\Forms.hpp> ^include <vcl\ExtCtrls.hpp> //____----------__________________________________------—

class TLED : public TShape { private:

bool FOnOff; TColor FOnColor; TColor FOffColor;

void _fastcall SetOnOff(const bool Value) ;

void _fastcall ' SetOnColor

void _fastcall SetOffColor (conet TColor OffColor) ;

protected:

public:

_fastcall TLED(TComponent* Owners-published:




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