Пример 1. Строка состояния

 

Разработаем приложение, в котором присутствует строка состояния, созданная на основе компонента StatusBar.

 

В приложении должно быть 1 поле редактирования, обычная кнопка, кнопка с рисунком, компонент StatusBar и компонент Timer (расположен на странице System).

 

Вид приложения на этапе разработки:

 

 

в окне Object Inspector на вкладке Properties необходимо установить следующие значения для свойств формы и компонентов:

 

Form1

Height

154

Width

273

 

Edit1

Text

 

Left

8

Top

8

Height

21

Width

249

Hint

поле| поле для текста

ShowHint

true

 

 

Button1

Caption

кнопка

Left

8

Top

40

Height

25

Width

121

Hint

кнопка| стандартная кнопка

ShowHint

true

 

BitBtn2

Caption

тоже кнопка

Left

136

Top

40

Height

25

Width

121

Hint

кнопка| кнопка с рисунком

ShowHint

true

 

Свойство Hint позволяет задать текст подсказки, всплывающей при наведении курсора мыши на компонент, и текст более полной подсказки, отображаемой на строке состояния.

При установке свойства ShowHint = true первая часть текста (до знака «|») будет отображаться во всплывающей при наведении курсора на компонент. Вторая часть текста будет отображаться в строке состояния при наведении курсора мыши над компонентом независимо от значения свойства ShowHint.

 

Выделите компонент StatusBar и вызовите редактор панелей. Создайте три панели, и, выбирая каждую панель в окне Object TreeView, установите для Panel[0] значение свойства Width = 120, а для Panel[1] – 80.

 

Выполните двойной щелчок по компоненту Edit1 и внесите соответствующий текст в операторные скобки процедуры:

 

StatusBar1.Panels[1].Text:= Edit1.Text;

 

В данном случае при любых изменениях содержимого текстовой строки оно будет отображаться во второй панели строки состояния.

 

Выполните двойной щелчок по компоненту Timer1 и введите текст в операторные скобки:

 

StatusBar1.Panels[2].Text:= TimeToStr(Time);

 

Здесь происходит преобразование текущего времени в текстовый формат и отображение его в третьей панели строки состояния.

 

Для отображения подсказок на панели Panel[0] специальную процедуру писать ненужно.

 

Вид приложения во время его запуска:

 

 

 

Текст программы:

 

unit Unit1;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, ComCtrls, StdCtrls, ExtCtrls, Buttons;

 

type

  TForm1 = class(TForm)

    StatusBar1: TStatusBar;

    Edit1: TEdit;

    Timer1: TTimer;

    Button1: TButton;

    BitBtn1: TBitBtn;

    procedure Edit1Change(Sender: TObject);

    procedure Timer1Timer(Sender: TObject);

 

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form1: TForm1;

 

implementation

 

{$R *.dfm}

 

procedure TForm1.Edit1Change(Sender: TObject);

begin

   StatusBar1.Panels[1].Text:= Edit1.Text;

end;

 

procedure TForm1.Timer1Timer(Sender: TObject);

begin

  StatusBar1.Panels[2].Text:= TimeToStr(Time);

end;

 

end.