logo
Posobie_Ravino_Atamanov

2.5.5.2. Статусная строка

Статусная строка создается с использованием компонента SlatusBar  , расположенного на странице WIN32, и представляет собой ряд панелей, отображающих полосу состояния в стиле Windows. Обычно эта полоса размешается внизу формы.

Свойство SimplеPanel определяет, включает ли полоса состояния одну или множество панелей. Если SimplePanel=true, то вся полоса состояния представляет собой единственную панель, текст которой задается свойством SimpleText. Если же SimplePanel=false, то полоса состояния является набором панелей, задаваемых свойством Panels. В этом случае свойство SizeGrip определяет, может ли пользователь изменять размеры панелей в процессе выполнения приложения.

Основное свойство каждой панели — Text, в который заносится отображаемый в панели текст. Его можно занести в процессе проектирования, а затем можно изменять программно во время выполнения. Другое существенное свойство панели — Width (ширина).

Программный доступ к текстам отдельных панелей можно осуществлять двумя способами: через индексированное свойство Panels или через его индексированное подсвойство Items. Например, два следующих оператора дадут идентичный результат:

StatusBar1.Panels[0].Text:='текст1';

или

StatusBarl.Panels.Items[0].Text:= 'текст1';

Оба они напечатают текст «текст1» в первой панели.

Можно задать подсказки для каждого компонента (свойство Hint), а затем выводить эти данные в статусную строку при наведении курсора на данный компонент. Реализовать это можно, например, следующим способом.

В разделе описания процедур добавляем (вручную) следующую надпись:

procedure ShowHint(Sender: TObject);//пишем вручную

Фрагмент описания представлен ниже:

type

TFormHaupt = class(TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

RzGroupBox1: TRzGroupBox;

XPManifest1: TXPManifest;

LabeledEdit1: TLabeledEdit;

RzBitBtn1: TRzBitBtn;

RzBitBtn2: TRzBitBtn;

PopupMenu1: TPopupMenu;

StatusBar1: TStatusBar;

RzBalloonHints1: TRzBalloonHints;

procedure FormCreate(Sender: TObject);

procedure RzBitBtn1Click(Sender: TObject);

procedure ShowHint(Sender: TObject);{дописываем вручную}

procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);

procedure FormMouseUp(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);

procedure RzGroupBox1MouseUp(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);

procedure RzBitBtn2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

После этого можно создать еще две процедуры:

procedure TFormHaupt.FormCreate(Sender: TObject);

begin

{данная процедура активизирует режим отображения подсказок, т.е. текстовых сообщений, указанных в свойстве Hint объекта}

Application.OnHint := ShowHint;

end;

procedure TFormHaupt.ShowHint(Sender: TObject);

begin

{эта подпрограмма выводит в статусную строку текстовые сообщения, записанные в свойстве Hint объекта}

StatusBar1.SimpleText:=Application.Hint;

end;