Компонент Delphi StatusBar (Строка состояния) находиться на странице Win32 Палитры компонентов. При размещении на форме, он автоматически располагается в нижней части формы. Высота компонента StatusBar задается с помощью свойства Height, либо во время проектирования мышью. Если нам необходима одна большая панель, то выставляем свойству SimplePanel значение TRUE, а текст который должен выводиться зададим свойством SimpleText.
В правом нижнем углу компонента отражается маленький треугольник, за это отвечает свойство SizeGrip. Он визуально показывает, что с помощью мыши, в этом месте, можно форму изменять в горизонтальном и вертикальном направлении.
Свойство Font задает, как обычно, шрифт и его характеристику.
Если нам необходимо более чем одна панель, то для работы необходимо вызвать редактор. Его можно вызвать тремя способами: двойным щелчком на компоненте StatusBar, из Инспектора Объектов кнопкой с многоточием рядом свойства Panels, или из контекстного меню выбрав команду Panels Editor
. С помощью редактора мы можем перемещаться по панелям, уничтожать существующие или добавлять новые. Перемещаясь по панелям в окне Инспектора Объектов мы увидим их свойства.
- Главные свойства панелей:
- Надпись на панели Text
- Ширина панели в пикселах - Width
- Вид панели - Bevel
- Выравнивание надписи на данной панели - Alignment.
Расположим на форме компоненты StatusBar, Edit, Memo, Timer, ApplicationEvents, как на рисунке. Напишем свойство Hint для Edit и Memo, допустим Фамилия и общие сведения. Для компонента StatusBar создадим три панели. Для первой панели, где у нас будет отображаться дата, ширину установим равную 60. Компоненту ApplicationEvents событию onHint создадим такой обработчик:
procedure TForm1.ApplicationEvents1Hint(Sender: TObject); begin StatusBar1.Panels[2].Text := Application.Hint; end;
Он будет выводить подсказки элементов формы в третьей панели. Для события onTimer (для того чтобы время и дата выводились в первой и второй панели соответственно) компонента Timer -
procedure TForm1.Timer1Timer(Sender: TObject); begin StatusBar1.Panels[0].text:=DateToStr(now); StatusBar1.Panels[1].text:=TimeToStr(now); end;
Итог: нами был рассмотрен и разобран компонент StatusBar с его методами и свойствами.