Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TOpenDialog - вызвать контекстную подсказку по F1 из chm файла / 3 сообщений из 3, страница 1 из 1
12.02.2019, 14:48
    #39772868
AndrewP_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TOpenDialog - вызвать контекстную подсказку по F1 из chm файла
При нажатии F1 (или соответствующей кнопки Help) из TOpenDialog вызывается подсказка hlp старого типа файлов, который не поддерживается в Windows10.
Как вызвать контекстную подсказку по F1 из chm файла?
...
Рейтинг: 0 / 0
12.02.2019, 18:35
    #39773004
crossa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TOpenDialog - вызвать контекстную подсказку по F1 из chm файла
Для начала надо специальным образом подготовить сам файл справки.

Откройте файл .HHP в текстовом редакторе и добавьте в его конец разделы ALIAS и MAP .
Код: pascal
1.
2.
3.
4.
5.
[ALIAS]
#include alias.h

[MAP]
#include map.h


Создайте файл alias.h , например, с таким содержимым:
Код: pascal
1.
2.
IDH_1000=index.html
IDH_1001=info.html


Создайте файл map.h с такими строчками:
Код: pascal
1.
2.
#define IDH_1000 1000
#define IDH_1001 1001


Скомпилируйте файл .HHP и получите файл справки формата CHM.

В программе укажите контекст помощи для окна:
Код: pascal
1.
2.
3.
OpenDialog1.HelpContext := 1000;
SaveDialog1.HelpContext := 1001;
Application.HelpFile := ExtractFilePath(Application.ExeName)+'help.chm';


Не забудьте добавить настройку для показа кнопки справки в окне:
Код: pascal
1.
OpenDialog1.Options := OpenDialog1.Options + [ofShowHelp];


Ссылка по теме: http://www.help-info.de/en/Help_Info_HTMLHelp/hh_context-id.htm
...
Рейтинг: 0 / 0
12.02.2019, 23:45
    #39773092
AndrewP_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TOpenDialog - вызвать контекстную подсказку по F1 из chm файла
Все, что Вы написали, у меня в программе реализовано.
Внутри программы по F1 контекстная подсказка вызывается из файла .chm.

Но при нажатии F1 (или соответствующей кнопки) и запущенного TOpenDialog вызывается браузер со страницей
https://support.microsoft.com/en-us/hub/4338813/windows-help?os=windows-10

Как перехватить нажатие F1 из TOpenDialog?
Я думаю, можно сделать Hook на F1 при вызове OpenDialog. Но может быть есть способы попроще?
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TOpenDialog - вызвать контекстную подсказку по F1 из chm файла / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]