18.7. КОМПОНЕНТЫ СТРАНИЦЫ SAMPLES

Компоненты этой страницы включены в Delphi как образцы (samples) разработки нестандартных компонентов, однако многие из них имеют вполне самостоятельное значение.

18.7.1. TGauge - индикатор величины

Компонент TGauge предназначен для отображения некоторой изменяющейся числовой величины. Он отличается от TProgress разнообразием форм (см. рис. 18.45).

Рис. 18.45. Различные формы компонента TGauge

Свойства компонента:

property BackColor: TColor; property ForeColor: TColor; TGaugeKind = (gkText, gkHorizon-talBar, gkVerticalBar, gkPie, gkNeedle) ;

Цвет незакрашенной части индикатора Цвет закрашенной части индикатора Определяет форму индикатора (см. рис. 18.44)

property Kind: TGaugeKind; property MaxValue: Longint;

Определяет максимальное значение диапазона изменения свойства progress

property MinValue: Longint;

Определяет минимальное значение диапазона изменения свойства progress

property PercentDone: Longint;

Содержит текущее значение progress в процентах от его диапазона изменения

property Progress: Longing;

Содержит текущее значение изменяющейся числовой величины

property ShowText: Boolean;

Если содержит True, в центре компонента выводится строковое представление значения PercentDone

С помощью метода

procedure AddProgress(Value: Longint);

к текущему значению progress можно добавить величину value.

18.7.2. TColorGrid - выбор или отображение цвета

Компонент предназначен для выбора и/или отображения цветов из 16-цветной палитры. Выбирать/отображать можно два цвета: основной и фоновый. Основной выбирается щелчком левой кнопки мыши и отображается символами fg, фоновый выбирается правой кнопкой и отображается символами bg (если оба цвета совпадают, соответствующая клетка таблицы помечается символами fb).

Свойства компонента:

property BackgroundColor: TColor;

Содержит выбранный фоновый цвет

property BackgroundEnabled: Boolean;

 

Разрешает/запрещает выбор фонового цвета. Игнорируется, если clickEnablesColor имеет значение True

property Backgroundlndex: Integer;

Содержит индекс выбранного фонового цвета

property ClickEnablesColor: Boolean;

Разрешает/запрещает выбор цветов

type TGridOrdering = (gol6xl,go8x2, go4x4, go2x8, golxl6); property GridOrdering: TGridOrdering;

Определяет конфигурацию таблицы: первая цифра - количество столбцов, вторая - количество рядов  

property ForegroundColor: TColor;

Содержит выбранный основной цвет

property ForegroundEnabled: Boolean;

Разрешает/запрещает выбор основного цвета. Игнорируется, если ClickEnablesColor имеет значение True

property Foregroundlndex: Integer;

Содержит индекс выбранного основного цвета

property Selection: Integer;

Содержит индекс последнего выбранного цвета

 

Индекс цвета - это число в диапазоне О... 15, указывающее номер соответствующей ячейки в порядке перехода от самых темных цветов к самым светлым: 0 - ячейка с черным цветом, 1 - с коричневым, ..., 15 - с белым цветом.

Пары свойств BackgroundEnabled - ClickEnablesColor И ForegroundEnabled - ClickEnablesColor запрещают выбор и отображение соответствующего цвета только в том случае, когда каждое из них имеет значение False. Однако даже в этом случае свойство selection хранит номер ячейки таблицы, по которой последний раз был произведен щелчок левой или правой кнопкой мыши. Это свойство изменяется до возникновения события от мыши и при необходимости может использоваться для выбора цвета без его отображения. С помощью метода

function ColorToIndex(AColor: TColor): Integer;

программа может получить индекс табличного цвета, наиболее близкого к цвету AColor. Событие

property OnChange: TNotifyEvent;

возникает только при разрешенном выборе/отображении соответствующего цвета.

18.7.3. TSpinButton - спаренная кнопка

В отличие от компонента TUpDown (см. п. 18.3.7) компонент TSpinButton не связан с регулированием числовой величины и может использоваться просто как пара кнопок: верхняя (up) и нижняя (Down). Для компонента следует написать обработчики его событий onup-click и onDownciick, в которых реализуется реакция программы на щелчок по той или иной кнопке.

Рисунки на кнопках определяются свойствами upGlyph и DownGiyph. Каждый рисунок может содержать 1, 2 или 3 изображения: 1-е - для нормальной кнопки, 2-е - для запрещенной, 3-е - для нажатой.

18.7.4. TSpinEdit - редактор для ввода целого числа

Компонент TSpinEdit предназначен для ввода/отображения числа. Он представляет собой комбинацию специализированного потомка однострочного редактора rcustomEdit и кнопок TSpinButton. Редактор способен вводить только числа (в этом и заключается его специализация), а кнопки используются для изменения числа на некоторую фиксированную величину.

Свойства компонента:

property Button: TSpinButton;

Содержит ссылку на встроенный объект TSpinButton

property EditorEnabled: Boolean;

Разрешает/запрещает использовать редактор для ручного ввода числа

property Increment: Longint;

Содержит число, на которое будет изменяться свойство value при нажатии кнопок TSpinButton

property MaxValue: Longint;

Содержит верхнюю границу диапазона возможных значений value

property MinValue: Longint;

Содержит нижнюю границу диапазона возможных значений value

property Value: Longint;

Содержит текущее значение числовой величины

 

18.7.5. TDirectoryOutLine - отображение структуры каталогов

Компонент предназначен для отображения древовидной структуры каталогов (см. рис. 18.46). В отличие от TDirectoryListBox (см. п. 18.6.7) компонент отображает полную структуру каталогов, а не маршрут доступа к одному из них.

Рис. 18.46. Окно компонента TDirectoryOutLine

Компонент является наследником класса TCustomOutLine, и поэтому многие его свойства (itemHeight, Optins, PictureXXX, ShowBars и Style) совпадают с аналогичными свойствами другого наследника этого класса - компонента TOutLine. Свойство TTextCase = (tcLowerCase, tcUpperCase, tcAsIs) ;

property TextCase: TTextCase;

определяет высоту букв в именах каталогов: tcLowerCase - строчные буквы; tcUpperCase - заглавные буквы; tcAsis - строчные и заглавные буквы.

Следующие два свойства доступны только на этапе прогона программы:

property Drive: Char;

property Directory: TFileName;

Первое определяет выбранный диск, второе - выбранный каталог.

18.7.6. TCalendar - ввод и отображение даты

Компонент TCalendar отображает календарь на выбранный месяц и год. Его свойства Day, Month и Year могут содержать любую дату от 1 до 9999 года от Рождества Христова.

Свойства компонента:

property CalendarDate: ~DateTime; property CellText[ACol, ARow: Integer]: String;

property Day: Integer; property GridLineWidth: Integer;

Содержит выбранную дату Содержит текст в ячейке календаря на пересечении столбца ACol с рядом ARow (только для чтения) Определяет выбранный день месяца

property Month: Integer; property Readonly: Boolean;

Устанавливает толщину линий таблицы календаря Определяет выбранный месяц Если содержит True, пользователь не может выбрать другую дату

type TDayOfWeek = 0..6;property StartOfWeek: TSayOfWeek;

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

property UseCurrentDate: Boolean;

Если содержит True, компонент будет показывать текущую системную дату

property Year: Integer;

Определяет выбранный год

Методы компонента:

procedure NextMonth; procedure NextYear; procedure PrevMonth;

Показывает календарь на следующий месяц Показывает календарь на следующий год Показывает календарь на предыдущий месяц

procedure PrevYear;

Показывает календарь на предыдущий год