Шаг 70.
Среда программирования Visual C++.
Компоненты справочной системы

    На этом шаге мы рассмотрим состав справочной системы.

    Если при создании приложения средствами AppWizard был установлен флажок Context-sensitive Help, то в папке Вашего проекта создается подкаталог hlp, куда будут скопированы файлы, необходимые для создания файла справки. На рисунке 1 показано содержимое папки hlp для проекта MyHelpApp (после его сборки).


Рис.1. Папка MyHelpApp\hlp

    Расскажем о назначении этих файлов.

Файлы *.hpj

    Файл проекта справки с расширением *.hpj необходим компилятору для построения справочной системы приложения. Для управления HPJ-файлами предназначено приложение Microsoft Help Workshop, позволяющее визуально разрабатывать справочную систему приложения. Для этой программы HPJ-файлы играют такую же роль, как DSW-файлы проекта для Visual Studio. Подобно Visual Studio, Help Workshop может работать с несколькими типами файла.

    Исполняемый файл приложения Microsoft Help Workshop (hcw.exe) помещается в папку \Program Files\Microsoft Visual Studio\Common\Tools в процессе стандартной установки Visual Studio. Программа запускается двойным щелчком файла проекта справки. На рисунке 2 показан файл MyHelpApp.hpj, открытый в Help Workshop.


Рис.2. Файл MyHelpApp.hpj в Help Workshop

    В файле проекта справки перечислены разделы, которые моя модифицировать кнопками в правой части окна. Параметры для компилятора справки устанавливаются в разделе [OPTIONS]. В других разделах содержатся ссылки на файлы других типов, которые можно включить в проект справки.

Файлы *.rtf

    Файлы в формате RTF соответствуют страницам справки. Список включаемых в проект RTF-файлов находится в HPJ-файле в разделе [FILES].

    AppWizard формирует "скелет" RTF-файлов с разделами справочной системы для основных элементов пользовательского интерфейса, таких, как меню File и Edit. Эти файлы Вы можете изменить по своему усмотрению, добавив текст, отражающий назначение и функции приложения.

Файлы *.bmp

    RTF-файлы могут содержать ссылки на растровые BMP-файлы с иллюстрациями.

Файлы *.hm

    Файлы с расширением *.hm создаются программой MakeHm, который считывает файл Resource.h и формирует идентификаторы контекста справки, соответствующие идентификаторам ресурсов приложения - диалоговых окон, команд и т. д. Необходимо помнить, что MakeHm не гарантирует уникальность создаваемых идентификаторов, поэтому иногда появляются одинаковые имена.

    В файле проекта справки включаемые НМ-файлы перечислен разделе [MAP]. В их число входит как НМ-файл самого проекта, так и стандартные НМ-файлы MFC. Компилятор справки извлекает из НМ-файлов идентификаторы контекста справки и связывает разделы справки с соответствующими ресурсами пользовательского интерфейса приложения.

    Если при создании идентификаторов ресурса следовать правилам формирования идентификаторов и применять стандартные префиксы, то новые идентификаторы будут сформированы корректно. Имена, предлагаемые редактором ресурсов Visual C++, всегда снабжаются корректными префиксами. Дополнительную информацию на эту тему Вы найдете в разделе "Preferred Resource ID Prefixes" справочной системы Visual C++.

    При добавлении в проект нового ресурса всегда добавляйте в RTF-файл соответствующий тематический раздел. В соответствии с задаваемыми AppWizard правилами сборки проекта после изменения исходных файлов справочная система автоматически генерируется заново. В соответствии с одним из таких правил после изменения файла Resource.h вызывается программа MakeHm.exe.

Файлы *.cnt

    Файлы оглавления с расширением *.cnt содержат информацию, необходимую для создания в окне справки вкладки Contents (Содержание). Help Workshop предоставляет визуальные средства редактирования файлов оглавления (рисунок 3).


Рис.3. Файл MyHelpApp.cnt в Help Workshop

Файлы *.ph

    Файл с расширением *.ph содержит таблицу ключевых фраз и создается компилятором справки, если применяется сжатие.

Файлы *.hlp

    Файл справочной системы, имеющий расширение *.hlp, создается в результате работы компилятора справки. Он помещается в основную папку исходных файлов приложения и в дополнительные папки выходных файлов (папки Debug или Release), чтобы при любом варианте запуска приложения была всегда доступна самая последняя версия справочной системы.

Файлы *.log

    В файл журнала с расширением *.log помещаются сообщения компилятора справки. Эти файлы можно просматривать средствами Help Workshop.

    На следующем шаге мы рассмотрим программную реализацию справки.




Предыдущий шаг Содержание Следующий шаг