Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методическое пособие для самостоятельных работ.doc
Скачиваний:
22
Добавлен:
16.11.2019
Размер:
2.89 Mб
Скачать

2.10. Поддержка справочной службы

Все видимые элементы имеют свойства

property Hint: String;

property ShowHint: Boolean;

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

Чтобы компонент смог показать ярлычок, нужно поместить текстовую строку в его свойство Hint и присвоить свойству showHint значение True. Обычно ярлычок содержит максимально лаконичный текст, чтобы не отнимать слишком большую площадь экрана. Вы можете дополнить этот текст развернутым сообщением в любом компоненте, который способен отображать текст. Как правило, это панель статуса, занимающая нижнюю часть формы. Чтобы отобразить длинное сообщение, его нужно прежде всего поместить в строку Hint сразу после короткого и отделить обе части символом “[”. Например:

MyControl.Hint := 'Подсказка!Развернутое сообщение';

Далее, необходимо в самом начале программы (обычно в обработчике события OnCreate главной формы) указать программе метод, который будет обрабатывать событие OnHint. Это событие возникает в момент появления ярлычка и предназначено для отображения длинного сообщения, которое метод-обработчик может получить в свойстве Hint глобального объекта Application. Например:

type

TForm1=class(TForm) pnStatus: TPanel;{Панель для отображения длинной части Hint}

public

// Объявляем метод-обработчик события OnHint:

procedure ShowLongHint(Sender: TObject);

end;

procedure TForm1.ShowLongHint(Sender: TObject);

{Этот обработчик помещает на панель pnStatus длинную часть Hint}

begin

pnStatus.Caption := Application.Hint;

end;

procedure TForm1.FormCreate(Sender: TObject) ;

// Метод определяет свойство OnHint объекта-программы

begin

Application.OnHint := ShowLongHint; end;

Обратите внимание: обработчиком события OnHint должен быть метод класса, а не обычная процедура. Вот почему в предыдущем примере в секцию public класса TForm1 вставлено описание метода

ShowLongHint.

Обычно свойство Hint у компонента устанавливается на этапе конструирования формы. В этом случае вы можете создать только однострочный ярлычок. Если же установить свойство Hint на этапе прогона, вы сможете вставить в символьную строку разделители EOLN и таким способом создать многострочный ярлычок:

bbClose.Hint := 'Эта кнопка'#13'завершает работу '#13'программы';

Следующие свойства глобального объекта-программы Application регулируют цвет и время появления ярлычка:

Свойство

Описание

property HintColor: TColor;

Определяет цвет фона ярлычка

property HintHidePause: Integer;

Определяет длительность показа ярлычка в миллисекундах. По умолчанию равно 2500 (2,5 секунды). Чтобы ярлычок вообще не убирался, установите значение -1

property HintPause: Integer;

Определяет паузу в миллисекундах после остановки указателя мыши и перед появлением ярлычка. По умолчанию равно 500

property HintShortPause: Integer;

Определяет паузу перед появлением ярлычка при переходе с одного компонента с заданным свойством Hint на другой такой же. По умолчанию равно 50

Все видимые компоненты содержат свойство

property HelpContext: Integer;

с помощью которого компонент привязывается к контекстно-чувствительной справочной службе. В это свойство следует поместить идентификатор раздела Help-файла, который (раздел) будет автоматически показываться в окне встроенной помощи после нажатия кнопки F1. У многих видимых компонентов имеется свойство

property PopupMenu: TPopupMenu;

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