У меня есть файл справки для моей программы, и меня попросили добавить описание меню на панели инструментов, когда пользователь просматривает их. Поэтому я подумал, что могу просто использовать начало описания меню справки, но просто не могу найти, как получить доступ к его содержимому.
Я видел, что у WinHelp есть макроязык, поэтому я подумал, может быть, через это, но я не смог найти никаких ссылок по этому поводу.
Кто-нибудь теперь какие-нибудь указатели или примеры того, как это сделать?





Утилита winhelpcgi содержит код библиотеки, который может читать файлы .hlp. Источник здесь: ссылка на сайт
Я не использовал его, поэтому не могу поручиться за его использование.
Во-первых, ваша справочная система должна иметь указатель по каждой теме, который позволяет вам открывать справку и отображать эту тему (если нет, то проверьте Помощь и руководство - это поможет вам создать более полные файлы справки). Однако это напрямую не решает вашу проблему, поскольку, насколько я понимаю, вы хотите, чтобы это всплывало в окне всплывающей подсказки.
Таким образом, вам нужно заглянуть под поверхность и выяснить, как справочная система использует ключ для извлечения соответствующей информации. Однако прямой доступ к определенному проиндексированному фрагменту текста в файле WinHelp - нетривиальная задача (насколько я могу судить). Вы можете найти полезную информацию здесь. Вы также можете просмотреть форумы на веб-сайте справки и руководства.
Однако есть более важный вопрос: действительно ли имеет смысл открывать всю справочную тему (даже если короткую), когда пользователь просто наводит курсор на пункт или кнопку меню? Для меня это не так, и я провел годы в группе дизайна пользовательского интерфейса в Bell Labs. Это А) просто слишком много информации и Б) будет визуально отвлекать (и, следовательно, невероятно раздражать) опытных пользователей. Принятая практика здесь - всплывающее окно с подсказкой с очень коротким (1-4 слова) описателем кнопки («Открыть» или «Открыть файл»).
Если вы хотите, чтобы справка была доступна для каждого пункта меню или кнопки, я бы предложил одну из двух альтернатив.
Во-первых, подумайте о наличии «режима курсора справки», в котором курсор использует значок справки (стрелка со знаком вопроса). Пользователь получает к нему доступ с помощью кнопки «Справка» на панели кнопок. В режиме курсора справки пользователь щелкает любой элемент, чтобы перейти к разделу справки по этому элементу. Я немного прохладно отношусь к этому подходу, так как он модальный, но я, конечно, видел, как это было сделано.
Во-вторых, вы можете просто немного улучшить свою справочную систему. То есть создайте раздел в своей справочной системе, в котором будет показан снимок экрана вашего приложения. На этом снимке экрана создайте горячие точки для каждого пункта меню и / или кнопки и разрешите пользователю перейти к соответствующей теме, щелкнув по ней. Если все сделано правильно, это дает пользователю визуальный ключ к темам, которые он хочет изучить, не мешая нормальной работе вашей программы.
Самое главное: прежде чем выполнять всю работу, необходимую для реализации вашего текущего плана, будьте Конечно, это правильный план!