Справочная система для приложения в Delphi: Доступ к справочной информации

Для того чтобы во время работы программы пользователь, нажав клавишу <F1>, мог получить справочную информацию, надо чтобы свойство HeipFile главного окна приложения содержало имя файла справочной системы, а свойство HeipContext числовой идентификатор нужного раздела (рис. 14.20). Вспомните, идентификаторы разделов справочной системы перечислены в разделе [MAP] файла проекта справочной системы (см. рис. 14.18). 

 

Рис. 14.20. Свойство HeipFile должно содержать имя файла справки

 

 

Файл справочной системы приложения лучше поместить в ту папку, в которой находится файл исполняемой программы. Для каждого компонента формы, например поля ввода, можно задать свой раздел справки. Раздел справки, который появляется, если фокус находится на компоненте, и пользователь нажимает клавишу <F1>, определяется значением свойства HeipContext этого компонента. Если значение свойства HeipContext элемента управления равно нулю, то при нажатии клавиши <F1> появляется тот раздел справки, который задан для формы приложения. Если в диалоговом окне есть кнопка Справка, то справочная информация выводится по-другому — для кнопки создается процедура обработки события onclick, которая обращением к функции winhelp запускает программу Windows Help (файл Winhlp32.exe). При вызове функции winhelp в качестве параметров указываются: идентификатор окна, которое запрашивает справочную информацию; имя файла справочной системы; константа, определяющая действие, которое должна выполнить программа Windows Help и уточняющий параметр.

Примечание: Идентификатор окна— это свойство Handle формы приложения. Свойство Handle доступно только во время работы программы, поэтому в списке свойств в окне Object Inspector его нет.

 

Если необходимо вывести конкретный раздел справки, то в качестве параметра, определяющего действие, используется константа HELP_CONTEXT. Уточняющий параметр в этом случае задает раздел справки, который будет выведен на экран.

Ниже, в качестве примера, приведена процедура обработки события onclick для кнопки Справка (Button4) диалогового окна программы решения квадратного уравнения.

 

// щелчок из кнопке Справка
2.procedure TForml,ButtQn4Click (Sender: TObject);
3.begin
4.winhelp(Forml.Handle,'sqroot.hip',HELP_CONTEXT,1);
5.end;
dle

Помоги проекту! Расскажи друзьям об этом сайте: