p-LUL-t-L-LKU.

// Переопределение виртуальных методов TWindow

//

char far* GetClassName() ;

void Paint(TDC& dc, bool erase, TRects rect) ;

void SetupWindow() ;

// Переопределите, если вам нужен собственный стиль рамки

//

virtual void PaintBorder(TDC& dc);

// Функции обработки сообщений

//

bool EvEraseBkgnd(HDC) ;

protected_data:

int Min; // Минимальное значение

int Max; // Максимальное значение

int Value; // Текущее значение (позиция)

int Step; /7 Шаг

int Margin; // Поле

int. IsHorizontal;

int LedSpacing; // Интервалы между сегментами int LedThick; // Ширина сегментов TColor BarColor; // Цвет полосы или LED static TNativeUse ClassNativeUse;

private:

// Скрыты во избежание случайного копирования и присваивания

//

TGauge(const TGauges);

TGauges operator=(const TGauge&);

DECLARE_RESPONSE_TABLE(TGauge) ;

Как было замечено ранее, класс TGauge уже содержит все функции для нашего класса TChordGauge. Взглянув на некоторые определенные здесь функции-члены, вы увидите, что существуют средства для установки диапазона и значения индикатора, которые наш класс может использовать без изменений; функции для указания, с каким шагом значение индикатора следует увеличивать или уменьшать и т. д. Некоторые функции, однако, останутся характерными только для класса Tgauge — setLed, например, задающая интервалы в прерывистой полосе, которую мы видели на рис. 20.5 (ее никак не применить в нашем типе индикатора). Здесь также упоминаются функции, которые для реализации нашего класса TChordGauge потребуется изменить:

это PaintBorder и paint, которые отвечают за действительное рисование нашего индикатора на экране. В целях нашего примера они будут теми двумя функциями, на которых мы сконцентрируем внимание: PaintBorder, ри-