Подсказки для чайников (TStatusBar)

Попробуйте запустить приложение и навести на кнопку указатель мыши. Ника­ких сообщений и подсказок пока не должно быть. Закройте программу и перейдите опять в Delphi. Теперь установите в свойстве showHint у компонента или у главной формы значение true. Если вы установите только у компонента, то подсказка будет появляться только у него. Если у формы, то подсказка будет появляться у всех компонентов на форме, у которых есть текст в свойстве Hint и ParentshowHint равно true.

Запустите приложение и проверьте появление подсказки.

 

Теперь мы добавим к нашему приложению возможность отображения такого же текста в строке состояния. Установите на форму компонент TStatusBar. Теперь перейдите в редактор кода и найдите раздел private. В нем добавьте объявление процедуры showHint:

private { Private declarations }

procedure ShowHint(Sender: TObject);

Имя процедуры может быть и другим (например, MyShowHint), но параметр должен быть именно такой, как показано выше.

 

Теперь нажмите сочетание клавиш <Ctrl>+<Shift>+<C>, чтобы Delphi создал за­готовку для процедуры. Можете и сами написать полностью код, но я ленивый че­ловек и в какой-то степени экономный. Люблю экономить время.

 

Итак, процедура showHint будет выглядеть следующим образом:

 

procedure TFormi.ShowHint(Sender: TObj ect);

begin

StatusBarl.SimpleText := Application.Hint;

end;

 

Наша процедура должна будет вызываться каждый раз, когда надо вывести под­сказку. Внутри процедуры мы присваиваем в свойство SimpleText строки состоя­ния текст, находящийся В Application. Hint. А В Application .Hint всегда нахо­дится подсказка, которую надо сейчас отобразить.

Теперь создайте обработчик события Onshow для главной формы и в нем напи­шите следующий код:

 

procedure TFormi.FormShow(Sender: TObj ect);

begin

Application.OnHint := ShowHint;

end;

 

Здесь программно назначается процедура showHint в качестве обработчика со­бытия OnHint для класса TApplication. Помните, что этот класс реализует функции приложения, у этого класса есть и основные события. Одно из таких событий — OnHint, которое срабатывает, когда нужно отобразить подсказку. Но можно было поступить и проще.

  1. Поставить на форму компонент TAppiicationEvents с вкладки Additional.
  2. У этого компонента на вкладке Events создать обработчик события OnHint и там сразу же написать следующий код: 
    StatusBar1.SimpleText:= Application.Hint


Подсказки для чайников (TStatusBar)Но проблема В ТОМ, ЧТО компонент TApplicationEvents появился только в Delphi 7, а до этого его не было. К тому же, знать, как можно обойтись без него, не помешает.

Теперь попробуем создать строку состояния из нескольких панелей. Выделите строку со­стояния и дважды щелкните левой кнопкой мыши по свойству Panels. Перед вами должно открыться окно редактора панелей.

 

В этом окне кнопка В создает новую панель (также можно нажать клавишу <Ins>). Вторая кнопка § удаляет выделенную в окне панель (также можно нажать клавишу <Del>).

Создайте новую панель и в ее свойстве width (ширина) установите значение 200. Теперь создай­те еще одну панель. Все, можно закрывать окно.

Перейдите в процедуру обработчик события OnHint и измените ее текст на:

StatusBarl.Panels[1].Text := Application.Hint;

Здесь в свойство Text первой панели строки состояния присваивается текст со­общения (Application.Hint). Во второй панели вы можете выводить любой текст и использовать его по своему усмотрению. Для этого в любом месте кода можно написать:

StatusBar1.Panels[2].Text := 'Текст';

dle

Помоги проекту! Расскажи друзьям об этом сайте: