Кент Рейсдорф. BORLAND C++BUILDER. Раздел 4

Кент Рейсдорф. BORLAND C++BUILDER. Страница 402

void fastcall TMainForm::HelpContentsClick(TObject* Sender)

{

Application->HelpCommand(HELP_CONTENTS, 0) ;

}

Метод HelpCommand() вызывает WinHelp с заданной командой (см. справ­ку API Windows по WinHelpO, где содержится полный список доступных команд). В данном случае WinHelp вызывается с командой HELP_CONTENTS. Эта команда содержит указание WinHelp вывести страницу, которая была обозначена как страница содержания. Последний аргумент метода HelpCom- mand() передает WinHelp дополнительные данные. Этот параметр не исполь­зуется с командой HELP_CONTENTS, поэтому он установлен в 0.

Реализация пункта меню Help Topics практически не отличается от ре­ализации пункта Contents, но содержит другую команду:

void fastcall TMainForm::HelpTopicsClick(TObject* Sender)

{

Application->HelpCommand(HELP_FINDER, 0);

}

Команда HELP_FINDER в сочетании с идентификатором контекста, имеющим значение 0, указывает WinHelp вывести индекс справочного файла. Как я уже сказал, индекс создается вместе со справочным файлом.

Контекстно-зависимая справка по запросу

В большинстве своих приложений вам будет достаточно тех двух способов реализации справки, о которых я только что говорил. Но иногда вы должны непосредственно вызывать WinHelp с конкретным идентификатором контекс­та. Для выполнения этой процедуры VCL предоставляет метод HelpContext(). Этот метод получает в качестве единственного аргумента идентификатор кон­текста той страницы, которую вы хотите увидеть после запуска WinHelp.

Предположим, например, что нужная вам страница имеет идентификатор 99. Чтобы запустить WinHelp и вывести данную страницу, вы должны сделать следующее:

Application->HelpContext(99);

Указывая конкретный идентификатор контекста, вы можете заставить WinHelp вывести любую страницу вашего справочного файла по запросу.

Web-дизайн (с) 2010 All rights reserved