Доступ к справочной информации
Для того чтобы во время работы программы пользователь, нажав клавишу <F1>, мог получить справочную информацию, надо чтобы свойство HelpFile главного окна приложения содержало имя файла справочной системы, а свойство HelpContext- числовой идентификатор нужного раздела (рис. 27) (идентификаторы разделов справочной системы перечислены в разделе [MAP] файла проекта справочной системы).
Рис. 27. Подключение файла справки к приложению.
Файл справочной системы приложения лучше поместить в ту папку, в которой находится файл исполняемой программы.
Для каждого компонента формы, например, поля ввода, можно задать свой раздел справки. Раздел справки, который появляется, если фокус находится на компоненте, и пользователь нажимает клавишу <F1>, определяется значением свойства HelpContext этого компонента. Если значение свойства HelpContext элемента управления равно нулю, то при нажатии клавиши <F1> появляется тот раздел справки, который задан для формы приложения.
Если в диалоговом окне есть кнопка Справка, то справочная информация выводится по-другому – для кнопки создается процедура обработки события OnClick, в которой используется функция WinHelp запускающая программу WindowsHelp (файл Winhlp32.exe). При вызове функции WinHelp в качестве параметров указываются: идентификатор окна, которое запрашивает справочную информацию; имя файла справочной системы; константа, определяющая действие, которое должна выполнить программа WindowsHelp и уточняющий параметр.
Идентификатор окна – это свойство Handle формы приложения. Свойство Handle доступно только во время работы программы, поэтому в списке свойств в окне Object Inspector его нет.
Если необходимо вывести конкретный раздел справки, то в качестве параметра, определяющего действие, используется константа HELP_CONTEXT. Уточняющий параметр в этом случае задает раздел справки, который будет выведен на экран.
Ниже приведена процедура обработки события OnClick для кнопки Справка(Button4).
Procedure TForm1.Button4Click(Sender: TObject);
Begin
winhelp(Form1.Handle,'sqroot.hlp',HELP_CONTEXT,1);
End;
Дата добавления: 2015-09-07; просмотров: 750;