49 Создание гипертекстовых
справочных систем.
Элементы справочной системы
Разделы. Основной "атомарный" элемент справочной системы - раздел (topic). Раздел представляет собой фрагмент справочной системы, отображаемый в окне приложения winhelp.exe. Он может содержать как текст, так и графические изображения.
Можно сказать, что справочная система состоит из многих разделов, связанных между собой многочисленными перекрестными ссылками и имеет структуру гипертекста.
Перекрестные ссылки. Для навигации по справочной системе отдельные разделы связаны между собой при помощи ссылок. Для пользователя ссылки представляются в виде выделенного цветом и подчеркиванием текста или в виде графических пиктограмм.
Разработчик справочной системы может создать ссылку на другой раздел, либо на временное (pop-up) окно. Можно также создать ссылку на раздел, отобразив его во вторичном окне.
Временное окно. Временное окно обычно используется для пояснения термина.
Оглавление
Подготовка исходного текста
Исходный текст справочной системы, поступающий на вход компилятора Help Compiler, должен быть сохранен в формате RTF (Rich Text Format). Вы должны создать нужное количество разделов справочной системы и снабдить каждый раздел необходимыми атрибутами. В Таблица 1 приведен список таких атрибутов.
Таблица 1 Атрибуты разделов
|
Атрибут раздела |
Описание |
|
Контекст # |
Текстовая строка, однозначно идентифицирующая раздел. Используется для ссылки на раздел. Это обязательный атрибут |
|
Заголовок $ |
Заголовок, под которым раздел появляется при поиске с помощью кнопки "Search" приложения winhelp.exe. Этот атрибут необязательный |
|
Список ключевых слов K |
Пользователь может искать разделы по ключевым словам. Для каждого раздела можно задать несколько ключевых слов (но можно не задавать ни одного, в этом случае раздел не будет иметь доступ по ключевым словам). Справочная система может содержать несколько списков ключевых слов. Необязательный атрибут |
|
Номер в последовательности просмотра + |
Некоторые разделы могут иметь логическую последовательную связь. Данный атрибут позволяет задать положение раздела в последовательности просмотра. О последовательностях просмотра мы расскажем позже. Необязательный атрибут |
|
Запуск макрокоманды ! |
ExecProgram("testapp.exe",0) Back();Next();Prev();CopyTopic();Exit();History(); JumpId("filename", "contextstring"); |
|
Тег компиляции * |
Атрибут, который позволяет включать или не включать раздел в справочную систему в зависимости от параметров компиляции. Необязательный атрибут |
Что же касается ключевых слов (keyword), то можно использовать для каждого ключевого слова максимально 255 символов. Если для раздела используется несколько ключевых слов, их нужно разделить символом точка с запятой ";".
Для назначения атрибута необходимо вставить сноску, указав в поле "Символ" нужный символ.
Создание перекрестных ссылок. Справочная система, созданная с использованием компилятора Help Compiler, имеет вид гипертекста, состоящего из разделов, связанных между собой ссылками. Ссылки создаются непосредственно в тексте раздела, для чего используется соответствующее шрифтовое оформление - перечеркнутый или двукратно подчеркнутый текст, однократно подчеркнутый текст и скрытый текст. Любая ссылка состоит из двух частей. Первая часть - это текст, который виден пользователю и отображается, как правило, зеленым цветом с подчеркиванием сплошной или пунктирной линией (по которой щелкается). Вторая часть не видна пользователю. Это строка контекста раздела, на который выполняется переход.
Если выполняется переход на обычный раздел, в исходном тексте справочной системы первая часть ссылки оформляется как перечеркнутая или подчеркнутая двойной чертой строка текста. Если же выполняется переход во временное окно, то используется однократное подчеркивание. Строка контекста всегда оформляется скрытым текстом.
Подготавливая ссылку, следите за тем, чтобы между строкой и контекстом не было символов пробела или каких-либо других посторонних символов. Символ конца параграфа не следует оформлять как невидимый, в противном случае такая строка сольется со следующей.
Ссылка на другой hlp-файл. Можно создать ссылку на раздел, расположенный в другом hlp-файле. Для этого после строки контекста, оформленной скрытым текстом, надо расположить символ @ и сразу вслед за ним путь к файлу:
ExtContext@c:\windows\myfile.hlp
В этой строке все символы, расположенные после строки "ExtContext" необходимо оформить скрытым текстом.
Вызов справки из
программы
BOOL WINAPI WinHelp(
HWND hwndMain, // идентификатор окнаLPCSTR lpszHelp, // путь к hlp-файлуUINT usCommand, // код операцииDWORD ulData); // дополнительные данные
HELP_CONTENTS 0x0003
- оглавление
HELP_KEY 0x0101 - ключевое слово
Средства создания справочных систем.
Doc-To-Help (WexTech Systems Inc.)
Doc-To-Help позволяет создавать как печатную документацию, так и
справочную систему на базе единого исходного текста. Для определения тем и
переходов в файле подсказок Doc-To-Help использует
иерархию заголовков документа пакета Microsoft Word. Это особенно выгодно для WinHelp
4, поскольку Doc-To-Help также использует
иерархическую структуру для определения закладки Contents
(Содержание). Для каждой книги автоматически сформировались последовательности
просмотра, поскольку по умолчанию Doc-To-Help
начинает новую последовательность просмотра на каждой строке стиля Header 1.
Пакет Doc-To-Help
определяет записи в предметном указателе (они становятся ключевыми словами)
исходя из задаваемого пользователем списка целевых фраз и дополнительных
вставок. Непосредственное применение ключевых слов типа А
(скрытых) не предусмотрено, но мы смогли создать их путем размещения сносок,
отформатированных соответствующим образом.