Возвращаясь к недорассмотренной палитре Additional. Этот компонент создан для перехвата событий объекта 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:
Вот и все для этого шага.