TProgressBar — индикатор процесса
Компонент TProgressBar предназначен для отображения хода выполнения длительного по времени процесса. Он имеет много общего с компонентами TSrollBar и TTrackBar, но в отличие от них у него нет регулятора, т. е с его помощью можно только отображать числовую величину, но пользователь не может ее изменять
Свойства компонента TProgressBar:
Свойство | Описание |
property Max: Integer; | Определяет максимальное значение диапазона изменения свойства Position |
property Mm: Integer; | Определяет минимальное значение диапазона изменения свойства Position |
property Position: Integer; | Содержит текущее значение отображаемой величины |
property Step: Integer; | Шаг наращивания свойства Position методом StepIt |
Методы компонента TProgressBar:
Метод | Описание |
procedure StepBy (Delta: Integer) ; | Наращивает значение свойства Position на величину Delta |
procedure StepIt; | Наращивает значение свойства Position на величину, определяемую свойством step |
6 TStatusBar– строка состояния
Компонент TStatusBar предназначен для создания строки состояния, которая обычно располагается в нижней части основной формы Компонент может иметь несколько панелей (секций), а также кнопку изменения размеров окна, в которое он помещен
Показанный на рисунке компонент TStatusBar с тремя панелями и кнопкой изменения размеров окна создан следующим обработчиком события OnCreate формы Form1 (предварительно на пустую форму поместите компонент TSatusBar)
prоcedure TForm1.FormCreate(Sender: TObject);
var Panel: TStаtusPanel; k: Integer;
begin
with StаtusBar1 do
for k := 0 to 2 do bеgin
Panel:= Panels.Add;
Panеl.Text := Fоrmat('Панель №%d', [k]);
Panеl.Width := Fоrm1.Width div 3
end;
end;
С компонентом связывается объект класса TStatusPanels, который определяет панели компонента. Каждая панель относится к классу TStatusPanel и имеет определенные свойства.
Свойства TStatusPanel:
Свойство | Описание |
property Alignment: TAlignment, | Определяет выравнивание текста относительно границ панели taLeft Justify – выравнивается влево, taCenter – центрируется по горизонтали, taRight Justify –выравнивается вправо |
property Bevel. TStatusPanelBevel; | Определяет стиль рамки панели pbNone – нет рамки, pbLowered– вдавленная рамка, pbRaised – выпуклая рамка |
property Style TStatusPanelStyle; | Определяет способ формирования изображения панели psText – панель содержит только текст и прорисовывается автоматически, psOwnerDraw – панель прорисовывается программой |
property Text: String; | Определяет текст надписи в панели |
property Width: Integer; | Определяет ширину панели в пикселах |
Свойства компонента TStatusBar:
Свойство | Описание |
property Canvas: TCanvas; | Канва для прорисовки панелей |
property Panels: TStatusPanels; | Содержит объекты-панели Свойство TStatusPanels Items [Index: Integer] TstatusPanel открывает доступ к панели по ее индексу |
property SimplePanel: Boolean; | Запрещает/разрешает создание нескольких панелей Если содержит значение True, компонент имеет единственную панель |
property SimpleText: String; | Содержит текст панели для SimplePanel=True |
property SizeGrip: Boolean; | Разрешает/запрещает вставку кнопки изменения размеров окна Игнорируется, если Align<>alBottom |
События компонента TStatusBar:
Событие | Описание |
TDrawPanelEvent = procedure (StatusBar: TStatusBar; Panel: TStatusPanel; const Rect: TRect) of object; property OnDrawPanel: TDrawPanelEvent; | Возникает при необходимости прорисовки панели Panel, если ее свойство style определено как psOwnerDraw; Rect – прямоугольник прорисовки |
Property OnResize: TNotifyEvent; | Возникает при изменении размеров компонента |
TUpDown — счетчик
Компонент TUpDown предназначен для пошагового регулирования числовой величины. Он имеет пару кнопок, с помощью которых величина наращивается или уменьшается. Обычно компонент TUpDown связан с компонентом класса TEdit (текстовым полем), который отображает регулируемую величину и при необходимости обеспечивает возможность ее непосредственного редактирования. Связанный компонент называется компаньоном.
Свойства компонента TUpDown:
Свойство | Описание |
TUDAlignButton = (udLeft, udRight) ; property AlignButton: TUDAlignButton; | Определяет положение счетчика относительно компаньона: udLeft — счетчик располагается слева от него; udRight — справа от него |
property ArrowKeys: Boolean; | Разрешает/запрещает интерпретировать нажатие клавиш <↓> и <↑> как щелчки соответственно на направленной вверх и направленной вниз кнопках счетчика. Игнорируется, если компонент не связан свойством Associate с компаньоном |
property Associate: TWinControl; | Определяет связанный компонент (компаньон). Кнопки автоматически располагаются с нужной стороны компаньона и выравнивают свою высоту по его высоте |
property Increment: SmallInt; | Определяет шаг наращивания/уменьшения регулируемой величины |
property Max: SmallInt; | Определяет максимальное значение диапазона изменения регулируемой величины |
property Min: SmallInt; | Определяет минимальное значение диапазона изменения регулируемой величины |
TUDOrientation = (udHorizontal, udVertical) ; property Orientation: TUDOrientation; | Определяет ориентацию компонента: udHorizontal — по горизонтали; udVertical — по вертикали |
property Position: SmallInt; | Содержит текущее значение регулируемой величины |
property Thousands: Boolean; | Если содержит значение True, при отображении числовой величины в компаньоне в текст вставляются разделители тысяч |
property Wrap: Boolean; | Запрещает/разрешает выход значения Position из диапазона Мах . . . Mm (True — запрещает) |
Для компонента определены два события.
Первое событие:
type TUDChangingEvent = procedure (Sender: TObject;
var AllowChange: Boolean) of object;
property OnChanging: TUDChanginEvent;
Это событие возникает при любом изменении регулируемой величины. Обработчик события в параметре AllowChange сообщает, может ли величина измениться.
Второе событие:
type TUDBtnType = (btNext, btPrev);
type TUDClickEvent = procedure (Sender: TObject; Button: TUDBtnType};
property OnClick: TUDClickEvent;
Это событие возникает при щелчке на кнопках элемента. Параметр Button определяет нажатую кнопку: btPrev — вниз или влево; btNext — вверх или вправо.
Литература: 1, с.54-67.
Контрольные вопросы.
1. Для чего предназначении компонент TProgressBar?
2. Для чего предназначено свойство Max компонента TProgressBar?
3. Для чего предназначено свойство Min компонента TProgressBar?
4. Для чего предназначено свойство Position компонента TProgressBar?
5. Для чего предназначено свойство Step компонента TProgressBar?
6. Для чего предназначен компонент TTabControl?
7. Для чего предназначено свойство DisplayRect компонента TTabControl?
8. Для чего предназначено свойство HotTrack компонента TTabControl?
9. Для чего предназначено свойство MultiLine компонента TTabControl?
10. Для чего предназначено свойство ScrollOpposite компонента TTabControl?