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, ри-