![]() |
![]() |
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; |
Показывает календарь на предыдущий год |
![]() |
![]() |