Шаг 53 - Компонент TApplicationEvents. Объект Application

Возвращаясь к недорассмотренной палитре Additional. Этот компонент gif/53_1.gif (164 b) создан для перехвата событий объекта TApplication. Объект TApplication - глобальная переменная приложения, содержит некоторые свйство исполонимого модуля. Например, часто встречался пример, когда я обращался к свойству ExeName, содержащему имя модуля. Так вот. У этого объекта есть некоторое количество событий типа OnIdle, OnActivate, OnHint. Событие OnHint используется, скажем, для автоматического выведения текущей подсказки в статус.

Поподробнее насчет всплывающей подсказки. У оконных компонентов есть пара свойств Hint и ShowHint, управляющие ее отображением. Первое содержит саму подсказку, а вторая - разрешение ее автоматического отображения. Строка подсказки имеет следующий формат - та часть, которая отображается как всплывающая, находится перед вертикальной "|" чертой, а котрая в статусе - после нее. Например "Курсив|Выделяет тест курсивом".

С этим связано еще две функции - GetLongHint и GetShortHint. Они выделяют из подсказки левую и правую части. Аргумент один - строка подсказки.

Пример. Кидаем TApplicationEcents на форму. TStatusBar использвать не будем, возьмем обычную TLabel. Устанавиваем для каких-то TControl компонентов свойства Hint и ShowHint. Забыл сказать. Свойство DisplayHint не влияет никак на обработчик события TApplicationEvents::OnHint. И еще нужна метка TLabel. А вот и образец обработчика:

void __fastcall TForm1::ApplicationEvents1Hint(TObject *Sender)
{
   Label1->Caption = GetLongHint(Application->Hint);
}

Вот. А это остальные события TApplicationEvents:

Вот и все для этого шага.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Аванесов Самвел - 21.01.2002