Есть ли библиотека / api для чтения содержимого файла справки .hlp?

StackOverflow https://stackoverflow.com/questions/470752

  •  19-08-2019
  •  | 
  •  

Вопрос

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

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

У кого-нибудь сейчас есть несколько указателей или примеров того, как это сделать?

Нет правильного решения

Другие советы

Утилита winhelpcgi содержит код библиотеки, который может читать файлы .hlp. Источник находится здесь: ссылка

Я не использовал его, поэтому я не могу поручиться за его использование.

Во-первых, ваша справочная система должна иметь указатель по каждой теме, который позволяет открывать справку и отображать эту тему (если нет, то посмотрите Справка & Руководство - это поможет вам создать более полные файлы справки). Однако это не решит вашу проблему напрямую, поскольку, насколько я понимаю, вы хотите, чтобы это всплыло в окне всплывающей подсказки.

Таким образом, вам нужно углубиться и выяснить, как справочная система использует ключ для извлечения соответствующей информации. Тем не менее, это не тривиальное обязательство (насколько я могу судить), чтобы напрямую получить доступ к конкретному, проиндексированному фрагменту текста в файле WinHelp. здесь вы можете найти полезную информацию, которая может быть использована. Вы также можете просматривать форумы на веб-сайте справки и руководства.

Вот еще более важный вопрос: имеет ли смысл открывать целую тему справки (даже короткую), когда пользователь просто наводит курсор мыши на элемент меню или кнопку? Это не для меня, и я провел годы в группе дизайнеров пользовательского интерфейса в Bell Labs. Это А) просто слишком много информации и Б) будет визуально отвлекать (и, следовательно, невероятно раздражать) опытных пользователей. Принятая практика здесь - это всплывающее окно всплывающей подсказки с очень коротким (от 1 до 4 слов) дескриптором кнопки (& Quot; Open & Quot; или & Quot; Open File & Quot; ).

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

Во-первых, рассмотрите вариант " Режим курсора справки " где курсор использует значок справки (стрелка со знаком вопроса). Пользователь обращается к нему через кнопку справки на панели кнопок. В режиме курсора справки пользователь, щелкнув по любому элементу, перенесет их в раздел справки для этого элемента. Я немного теплый в этом подходе, так как он модальный, но я определенно видел, как это делается.

Во-вторых, вы можете просто немного улучшить свою справочную систему. То есть создайте тему в своей справочной системе, в которой будет показан снимок экрана вашего приложения. На этом снимке экрана создайте горячие точки для каждого пункта меню и / или кнопки и разрешите пользователю перейти к соответствующей теме, щелкнув по ней. Если все сделано правильно, это дает пользователю визуальный ключ к темам, о которых он хочет узнать, не мешая нормальной работе вашей программы.

Самое главное: прежде чем выполнять всю работу, необходимую для реализации вашего текущего плана, будьте уверены, , что это правильный план!

scroll top