Следующий код демонстрирует способ вывода диалога WinHelp "Search" для
электронной справки вашего приложения. Для этого следует послать системе
электронной справки Windows (WinHelp) команду Help_PartialKey, что можно сделать
с помощью метода объекта TApplication HelpCommand. Параметр для этой команды
должен иметь тип PChar (можно привести к longint) и содержать строку, которую
вам необходимо найти. Пример ниже использует для вызова диалога "Search" пустую
строку, которую освобождает после его закрытия.
procedure TForm1.SearchHelp;
var
P: PChar;
begin
Application.HelpFile := 'c:\delphi\bin\delphi.hlp';
P := StrNew('');
Application.HelpCommand(Help_PartialKey, longint(P));
StrDispose(P);
end;
Перевод:
Код, который я предоставил, демонстрирует, как отображать диалог "Поиск" для Windows Help (WinHelp) в приложении Delphi. Метод TApplicationHelpCommand используется для отправки системы команды Help_PartialKey, что триггерирует поисковый диалог.
Вот разбивка, что делает каждая строка:
Application.HelpFile := 'c:\delphi\bin\delphi.hlp';: Устанавливается путь к файлу помощи, который будет поискаться.
P := StrNew('');: Создается новый строковый тип с начальными значениями пустой строки, которая будет использоваться как запрос поиска.
Application.HelpCommand(Help_PartialKey, Longint(P));: Отправляется команда Help_PartialKey системе, передавая адрес переменной P (которая содержит запрос поиска) в качестве параметра.
Строка StrDispose( P ); используется для освобождения памяти, занимаемой строкой, созданной ранее. Это хорошая практика для предотвращения утечек памяти.
Вот альтернативное решение, использующее более современный подход:
procedure TForm1.SearchHelp;
begin
Application.HelpFile := 'c:\delphi\bin\delphi.hlp';
HelpWin.ShowSearchDialog('');
end;
В этом варианте мы используем метод ShowSearchDialog компонента HelpWin (который является частью системы помощи Delphi) для отображения поискового диалога с пустым запросом.
Обратите внимание, что в обоих примерах вам нужно заменить 'c:\delphi\bin\delphi.hlp' на реальный путь к вашему файлу помощи.
В статье описывается способ вывода диалога WinHelp 'Search' для электронной справки приложения с помощью метода объекта TApplication HelpCommand и команды Help_PartialKey.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS