Свойства, методы, события, типы, классы________________________961

включая разделы меню). Обычно первая часть содержит краткое пояснение компо-
нента. В частности, такой подсказкой как правило снабжаются быстрые кнопки
TmiaTSpeedButton. Вторая часть содержит текст, отображаемый в какой-то выде-
ленной для этого части окна, например, в строке состояния. Это обычно разверну-
тое пояснение. Например, свойство Hint для быстрой кнопки доступа к разделу
меню сохранения файла может иметь вид: «Сохранить|Сохранение текущего доку-
мента в файле». Как частный случай, в свойстве Hint может быть задана только
первая часть подсказки без символа '|'.

Для того, чтобы первая часть подсказки появлялась в ярлычке, когда пользо-
ватель задержит курсор мыши над данным компонентом, надо сделать следующее:

1. Указать тексты свойства Hint для всех компонентов, для которых вы хотите
обеспечить окно подсказки.

2. Установить свойства ShowHint (показать подсказку) этих компонентов в true
или установить в true свойство ParentShowHint (ShowHint родителя) и уста-
новить в true свойство ShowHint контейнера, содержащего данные компонен-
ты, или формы.

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

При ShowHint. равном true, ярлычок будет всплывать даже если компонент в
данный момент недоступен (Enabled = false).

Если вы не задали значение свойства компонента Hint, но установили в true
свойство ShowHint или установили в true свойство ParentShowHint. а в родитель-
ском компоненте ShowHint = true, то в ярлычке будет отображаться текст Hint из
родительского компонента.

Правда, все описанное выше справедливо при значении свойства ShowHint
приложения (объекта Application), равном true (это значение задано по умолча-
нию). Если установить Application->ShowHint в false, то ярлычки не будут появ-
ляться, независимо от значений ShowHint в любых компонентах.

Для того, чтобы вторая часть сообщения, записанного в Hint, отображалась в
строке состояния в моменты, когда курсор мыши проходит над компонентом, надо
использовать обработку события OnHint. Это событие именно приложения Appli-
cation, а не того компонента, над которым проходит курсор мыши. Если обработ-
чик этого события определен, то в момент прохождения курсора над компонентом,
в котором задано свойство Hint, вторая часть сообщения компонента заносится в
свойство Hint объекта Application. Если свойство Hint компонента содержит толь-
ко одну часть, то в свойство Hint объекта Application заносится эта первая часть.
Причем все это делается независимо от состояния свойства компонента ShowHint.

Чтобы отображать эти сообщения в строке состояния, надо определить и напи-
сать обработчик события приложения OnHint, как показано в приведенном ниже
примере.

Третий способ использования свойства Hint компонента заключается в непо-
средственном отображении текста заключенного в нем сообщения в какой-то метке
или панели с помощью функций GetShortHint и GetLongHint. первая из которых
возвращает первую часть сообщения, а вторая — вторую (если второй части нет, то
возвращается первая часть).

Примеры

1. Пусть ваше приложение имеет быстрые кнопки, для которых вы хотите обеспе-
чить ярлычки и отображение развернутого пояснения назначения кнопки в па-
нели состояния StatusBarl. Тогда в процессе проектирования надо во всех бы-
стрых кнопках задать свойства Hint, состоящие из двух частей, и задать значе-
ния ShowHint равными true. Далее надо ввести функцию обработки события
OnHint (назовем ее DisplayHint), которая может содержать оператор вида

31 Зах.764