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


         

Необходимо написать три функции для


property bool LEDOn= { read= FOnOff,write= SetOnOff) ; property ТСоlог OnColor= { read=FOnColor,write=SetOnColor} ; :.,. __property TColor OffColor=

{ read=FOff Color, write= SetOffColor} ;

};

//_____________-___-_----____________------------------——

#endif

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

Еще проще окажутся добавления в файл LED.cpp (Листинг 6.16). Необходимо написать три функции для присвоения значений свойств соответствующим членам данных, а также наполнить конструктор компоненты инструкциями для инициализации переменных.

#include <vcl\vcl.h>

#pragma hdrstop

# include "LED.h" //_-------—----—-____--------—---.————---—---—----—--

static inline TLED *ValidCtrCheck() {

return new TLED(MULL) ;

)

void _fastcall TLED::SetOnOf?(const bool Value) {

POnOff = Value;

Brush->Color ” (POnOff) ? FOnColor : POffColor?

}

//_———————————————-——-^-.-——.————.——————

void _fastcall TLED::SetOnColor(const TColor OnColor) {

POnColor = OnColor;

Brush->Color = (FOnOff) ? FOnColor : FOffColor;

}

//-—---——-„--—--------————----------——--———---—--

void _fastcall TLED::SetOЈfColor(const TColor OffColor) {

FOffColor = OffColor;

Brush->Color = (FOnOff) ? FOnColor : FOffColor;

}

//---_------------------------------------------------------

_fastcall TLED::TLED(TComponent* Owner) : TShape(Owner)

{

Width = 15; // тирина по умолчанию Height = 15; // высота по умолчанию FOnColor = cILime; //

зеленый, когда включен FOffColor = cIRed; // красный, когда выключен FOnOff = false; //

выключен по умолчанию Shape ? atEllipse; //в форме эллипса по умсвдчани Pen->Color = clBlack; //

черный контур по умолчанию Pen->Width = 2; // ширина контура по уйолчанию Brush->Color ^ FOffColor; // цвет заливки по умолчанию

}

//---------------____-______________________--________.

namespace Led

{

void _fastcall Register () {

TComponentClass classes[1] = {__classid(TLED)} ;

RegisterComponents("Samples", classes, 0) ;

} }


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