3. Создание справочной системы

advertisement
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
ВОРОНЕЖСКАЯ ГОСУДАРСТВЕННАЯ ТЕХНОЛОГИЧЕСКАЯ АКАДЕМИЯ
КАФЕДРА ИНФОРМАЦИОННЫХ И УПРАВЛЯЮЩИХ СИСТЕМ
РАЗРАБОТКА СПРАВОЧНОЙ СИСТЕМЫ ДЛЯ
ПРИЛОЖЕНИЙ В ФОРМАТЕ WINDOWS HELP
Методические указания для выполнения лабораторной
работы по дисциплине
“Современные средства разработки программных
продуктов”
Для студентов специальности 210200 – “Автоматизация
технологических процессов и производств”
очной и заочной форм обучения
Воронеж 2003
УДК681.3.07
Разработка справочной системы для приложений в
формате Windows Help: Метод. указания к лаб. работе по
дисциплине "Современные средства разработки программных
продуктов"/ Воронеж. гос. технол. акад.; Сост. А.А. Хвостов,
И.А. Хаустов. - Воронеж, 2003. – 20 с.
Указания разработаны в соответствии с требованиями,
предъявляемыми квалификационной характеристикой ГОС ВПО
подготовки инженеров по специальности 210200. Они предназначены
для закрепления теоретических знаний дисциплины цикла ЕН.
Методические указания посвящены разработке справочной системы
для приложения в формате Windows Help. Затрагиваются вопросы
проектирования содержания, интерфейса и оптимизации справочной
системы.
Для студентов специальности 210200 очной и заочной форм
обучения.
Табл. . Ил. . Библиогр.: .
Составители доценты А.А.ХВОСТОВ, И.А. ХАУСТОВ,
С.Г. ТИХОМИРОВ
Рецензент – профессор, д.т.н.
Научный редактор профессор В.Ф. ЛЕБЕДЕВ
Печатается по решению
редакционно-издательского совета
Воронежской государственной технологической академии
© А.А. Хвостов,
С.Г. Тихомиров,
И.А. Хаустов, 2002
© Воронежская
государственная
технологическая
академия, 2003
2
Создание справочной системы для приложения в формате Windows Help
Цели работы:
1. Освоение методики построения справочных систем в формате
Windows Help;
2. Освоение программных средств проектирования справочных
систем.
Порядок выполнения работы
1. Изучить методические указания.
2. Проделать пример, изложенный в методических указаниях.
3. Определить структуру справочной системы.
4. Создать файл проекта и содержания для своего приложения,
откомпилировать и протестировать справочную систему.
5. Настроить Windows-приложение в среде Borland C++ Builder для
работы с созданной справочной системой.
6. Оформить отчёт.
1. Назначение справочной системы
Справочная система должна содержать информацию о том, для
чего предназначено приложение, как использовать меню и
диалоговые панели. Необходимо описать методику выполнения
различных процедур, таких как копирование в Clipboard,
редактирование
документов
или
аналогичных.
Хорошо
спроектированная справочная система должна содержать глоссарий,
систему поиска информации по контексту и графические
иллюстрации.
Вся необходимая информация должна быть всегда под руками.
Например, если пользователь просматривает текст, описывающий
функцию, ему может потребоваться пример использования этой
функции или перечень имен других функций, так или иначе
связанных с данным текстом.
Для создания справочных систем используется специальный
help-компилятор, входящий в состав SDK и других продуктов
Microsoft, предназначенных для разработки приложений, например,
Microsoft FoxPro for Windows или Microsoft Visual Basic.
Пользователь работает со справочной системой при помощи
приложения winhelp.exe, которое поставляется вместе с Windows.
Программист также имеет доступ к средствам отображения
Создание справочной системы для приложения в формате Windows Help
3
справочной информации. В его распоряжении имеется функция
WinHelp, которая входит в программный интерфейс Windows.
Средства создания и просмотра справочных систем встроены в
операционную систему Windows. Благодаря этому пользователю
достаточно лишь один раз научиться работать со справочной
системой какого-либо одного стандартного приложения, и он без
труда сможет работать со справочными системами всех других
приложений Windows.
Существует несколько путей создания файлов справки для
Windows.
Компания Microsoft предлагает двухэтапную процедуру
разработки файлов справки на основе своих коммерческих и
свободно распространяемых продуктов. Прежде всего, текстовый
процессор Microsoft Word for Windows. Именно с помощью этого
текстового процессора выполняется начальная подготовка текстовых
и графических данных, которые будут содержаться в справочной
системе.
Сначала создаётся справочная система как обычный текстовый
документ, включающий в себя специальные элементы, такие как
скрытый текст, подстрочные сноски и т. п. Документ может
содержать графические изображения и таблицы, стилевое и
шрифтовое оформление.
Созданный документ сохраняется в формате RTF. Это
универсальный текстовый формат, который обычно используется как
промежуточный для конвертирования между форматами различных
текстовых процессоров.
На следующем этапе исходный текст справочной системы
преобразуется из формата RTF в hlp-файл в интегрированной среде
для сборки файлов справки в один проект и компиляции Microsoft
Help Workshop. Для выполнения процедуры требуется компилятор
Microsoft Help Compiler. Он есть также в составе SDK и поставляется
в составе практически всех систем разработки приложений Windows,
таких как Borland C++ for Windows и Microsoft Visual C++.
Другой путь состоит в использовании массы утилит,
позволяющих упростить разработку справочной системы, объединив
в себе два этапа разработки: подготовки текста и сборки файла
проекта для последующей компиляции. Например, ряд программ
(Help Pad, Help&Manual и т.д.) объединяют в себе редактор текста,
4
Создание справочной системы для приложения в формате Windows Help
компоновщик проекта, компилятор и компоновщик содержания
справки.
После завершения процесса компиляции справочная система
готова к использованию. Можно работать с ней при помощи
приложения winhelp.exe или при помощи функции WinHelp,
вызываемой из приложения.
2. Элементы справочной системы
2.1 Разделы
Основной элемент справочной системы - раздел (topic). Раздел
представляет собой фрагмент справочной системы, отображаемый в
окне приложения winhelp.exe. Он может содержать как текст, так и
графические изображения (рис. 1).
Рис. 1. Раздел справочной системы редактора Help Pad
Если размер окна недостаточен для отображения раздела
целиком, у окна появляется горизонтальная или вертикальная полоса
просмотра (либо сразу и горизонтальная, и вертикальная полоса
просмотра).
Помимо основного окна, приложение winhelp.exe способно
создавать вторичные перекрывающиеся окна и временные окна. В
Создание справочной системы для приложения в формате Windows Help
5
этих окнах также отображается содержимое разделов справочной
системы.
Cправочная система состоит из многих разделов, связанных
между собой многочисленными перекрестными ссылками и имеет
структуру гипертекста. Каждый раздел обычно имеет заголовок,
отображаемый в верхней части окна просмотра, идентификатор,
набор ключевых слов, по которым можно найти раздел, а также
ссылки на другие разделы.
2.2 Перекрестные ссылки
Для навигации по справочной системе отдельные разделы
связаны между собой при помощи ссылок. Для пользователя ссылки
представляются в виде выделенного цветом и подчеркиванием текста
или в виде графических пиктограмм.
Можно создать ссылку на другой раздел, либо на временное
(pop-up) окно. Можно также создать ссылку на раздел, отобразив его
во вторичном окне.
В первом и третьем случае в окне приложения winhelp.exe
ссылка выглядит как фрагмент текста, подчеркнутый сплошной
линией, во втором - пунктирной. Например, на рис. 4.1 строка "Regular Links" подчеркнута сплошной линией и представляет собой
ссылку на другой раздел. Если выбрать мышью эту строку, в окне
появится содержимое раздела "Help Pad Sample" (рис. 2).
Рис. 2. Раздел "Control Menus"
6
Создание справочной системы для приложения в формате Windows Help
Если выбрать мышью ссылку в виде строки, подчеркнутой
пунктирной линией, на экране появится временное окно (рис. 3).
Рис. 3. Временное (Popup) окно
Временное окно обычно используется для пояснения термина.
2.3 Оглавление
Справочная система должна иметь оглавление, пользуясь
которым пользователь без труда находит нужный ему раздел.
Оглавление создается как отдельный раздел, который
отличается от других разделов, тем, что он описывается
специальным образом при создании справочной системы и содержит
прямые или косвенные ссылки на все остальные разделы.
В большинстве справочных систем оглавление создается в виде
дерева.
В древовидном оглавлении один раздел выполняет роль
корневого раздела. Он содержит ссылки на несколько разделов,
отвечающих за различные темы (рис. 4.4).
Создание справочной системы для приложения в формате Windows Help
7
Рис. 4. Корневой раздел справочной системы Borland С++ Builder
Если в корневом разделе справочной системы выбрать строку
"What’s New", на экране появится одноименный раздел,
представляющий собой следующий иерархический уровень
оглавления (рис. 5).
Рис. 5. Раздел "What’s New"
8
Создание справочной системы для приложения в формате Windows Help
Иногда в оглавлении используются пиктограммы.
2.4 Органы управления
Приложение winhelp.exe имеет в своем главном окне меню и
окно Toolbar, содержащее кнопки с различными надписями и
обозначениями (рис. 6).
Рис. 6. Органы управления приложения winhelp.exe
С помощью меню "Файл" пользователь может открыть новый
hlp-файл (т. е. приступить к работе с новой справочной системой),
выбрать принтер и распечатать содержимое текущего раздела,
отображаемого в главном окне приложения winhelp.exe.
Возможность полной распечатки содержимого всей справочной
системы отсутствует.
Меню "Правка" предназначено для копирования всего
текущего раздела или любого его фрагмента в Буфер обмена (рис.
4.8). При этом копируется только неформатированный текст без
графических изображений.
Строка "Заметки..." из меню "Правка" предназначена для
добавления комментария к разделу.
Меню "Закладки" позволяет "вставить" в справочную систему
закладку. Такая закладка иногда называется маркером. По
умолчанию для имени закладки выбирается заголовок раздела,
однако пользователь может указать любое другое имя.
С помощью меню "Help" пользователь может узнать о том, как
работать с приложением winhelp.exe, а также сделать главное окно
этого приложения расположенным всегда над другими окнами
(выбрав строку "Always on Top").
Создание справочной системы для приложения в формате Windows Help
9
Окно Toolbar содержит несколько кнопок, предназначенных
для выполнения самых нужных функций.
С помощью кнопки "Contents" можно отобразить раздел,
содержащий оглавление загруженного hlp-файла.
Нажав на кнопки "Search" (поиск), “Index” (Указатель)
пользователь получит возможность выполнить поиск информации по
ключевому слову и встречающимся в тексте словам (рис. 7).
Рис. 7. Поиск информации
Список ключевых слов определяется для тех разделов, к
которым необходимо предоставить доступ по ключевым словам.
Например, справочная система приложения Borland C++ for Windows
позволяет найти описание функции по ключевому слову - имени
функции.
Кнопка "Back" позволяет вернуться к просмотру раздела,
который отображался в окне приложения winhelp.exe в прошлый раз.
При помощи кнопки "History" пользователь может получить
доступ к списку названий просмотренных ранее разделов. Он может
выбрать из этого списка любой раздел и вызвать его на экран
двойным щелчком левой клавиши мыши.
Как правило, окно Toolbar содержит кнопки со значками и,
причем одна или обе такие кнопки могут быть заблокированы. Эти
кнопки предназначены для последовательного просмотра логически
10
Создание справочной системы для приложения в формате Windows Help
следующих друг за другом разделов, соответственно, в прямом и
обратном направлении.
Разработчик справочной системы (то есть исходного файла
справочной системы, попадающего на вход компилятора Microsoft
Help Compiler) с помощью специальных макрокоманд может
изменить состав органов управления приложения winhelp.exe при
отображении данного файла. Например, он может добавить меню
или новую кнопку.
Однако при выборе состава органов управления для
справочной системы следует учитывать, что непривычные названия
и органы управления иногда затрудняют работу пользователя и, как
следствие, ухудшают общее впечатление от приложения.
3. Создание справочной системы
Рассмотрим создание простейшей справочной системы на
примере утилиты Help Pad от Bryan Wilken.
Help Pad - инструмент для создания файлов справки и
интерактивной документации в 32-разрядной платформе Windows. С
Help Pad можно создать справку в форматах WinHelp и HTML в
рамках одного исходного проекта. Help Pad
не требует
использования текстового процессора. Для получения файлов
справки требуется помимо пакета Help Pad компилятор справки
(например, Microsoft Help Workshop).
Help Pad сохраняет и Проект и информацию Раздела в
единственном файле с .hpp расширением.
После запуска утилиты появляется главное окно приложения
(рис. 8). Для создания нового пакета необходимо выбрать пункт
меню File->New.
Создание справочной системы для приложения в формате Windows Help
11
Список разделов
редактор
Рис. 8. Главное окно Help Pad
Список разделов сохраняет список разделов и обеспечивает
доступ к их свойствам.
Можно редактировать заголовок, ключевые слова, и
комментировать каждый раздел.
Чтобы загружать раздел в редактора, необходимо нажать на
ячейку идентификатора темы ID.
3.1 Создание разделов
Структурная единица справочной системы - раздел.
Необходимо создать нужное количество разделов справочной
системы и снабдить каждый раздел необходимыми атрибутами.
Атрибуты, которые может иметь раздел справочной системы
представлены в табл. 1. Только один из них должен быть указан
всегда (контекст), остальные являются необязательными.
12
Создание справочной системы для приложения в формате Windows Help
Таблица 1
Атрибут раздела
Описание
Число, идентифицирующее раздел. Используется для
Идентификатор раздела
создания контекстно-зависимой справки в приложениях.
(Topic ID)
Обязательный атрибут
Контекст (Context
String)
Текстовая строка, однозначно идентифицирующая раздел.
Используется для ссылки на раздел (обязательный атрибут)
Заголовок(Title)
Заголовок, под которым раздел появляется при поиске с
помощью кнопки "Search" приложения winhelp.exe. Этот
атрибут необязательный
Пользователь может искать разделы по ключевым словам
во вкладке Указатель (Index). Для каждого раздела можно
задать несколько ключевых слов (но можно не задавать ни
Список ключевых слов
одного, в этом случае раздел не будет иметь доступ по
(Keywords)
ключевым словам). Справочная система может содержать
несколько списков ключевых слов. A-Keywords не
появляются во вкладке Указатель. Необязательный атрибут
Номер в
последовательности
просмотра (Browse
Sequence)
Некоторые разделы могут иметь логическую
последовательную связь. Данный атрибут позволяет задать
положение раздела в последовательности просмотра.
Например при использовании кнопок навигации >> и <<.
Необязательный атрибут
Макрокоманда (Entry
Macro)
Для каждого раздела можно указать одну или несколько
макрокоманд, запускаемых при отображении раздела.
Необязательный атрибут
Атрибут, который позволяет включать или не включать
Тег компиляции (Build раздел в справочную систему в зависимости от параметров
Tag)
компиляции. Необязательный атрибут
Тип окна (Window)
Тип окна, в котором будет отображаться этот раздел
Комментарий (Comment)
Комментарий
В справочной системе не может быть двух разделов с
одинаковым контекстом. Если же по ошибке сделаны такие разделы,
компилятор Help Compiler выведет сообщение об ошибке.
Для строки контекста (context string) можно использовать
символы от A до Z, числа от 0 до 9, точку и знак подчеркивания (но
не символы пробела). Максимальная длина строки - 255 символов.
Заголовок раздела (title of the topic) появляется в окне поиска и
просмотра закладок, поэтому в хорошей справочной системе все
Создание справочной системы для приложения в формате Windows Help
13
разделы имеют заголовок. Максимальная длина текстовой строки
заголовка составляет 128 символов.
Для каждого ключевого слова можно использовать
максимально 255 символов. Если для раздела используется
несколько ключевых слов, их нужно разделить символом точка с
запятой ";".
Тегом компиляции (build tag) отмечаются разделы, которые
включаются или не включаются в справочную систему на этапе
компиляции в зависимости от содержимого одного из разделов файла
проекта справочной системы (файл проекта будет рассмотрен позже).
Тег компиляции удобно использовать при отладке.
Упражнение 1. Создание разделов справочной системы
Создадим разделы справочной системы для приложения,
осуществляющего расчёт вязкости по Муни полибутадиена и
построение графика с таблицей расчётных данных. Внешний вид
приложения представлен на рис 9.
Рис. 9. Главное окно приложения
Подготовим 7 разделов для описания основных характеристик
приложения:
1. Общие сведения о программе.
2. Постановка задачи для расчётов.
3. Описание интерфейса (пунктов меню и кнопок).
14
Создание справочной системы для приложения в формате Windows Help
4. Инструкция по корректировке исходных данных.
5. Инструкция по выводу графической интерпретации расчётов.
6. Сведения об авторе проекта.
7. Сведения о руководителе работы.
8. Расшифровка специфических терминов.
Для этого необходимо запустить утилиту Help Pad и сохранить
открывшийся пустой проект в рабочий каталог.
После этого необходимо выполнить некоторые настройки
проекта, кликнув пункты меню Project->Options. В появившемся
диалоге необходимо указать ряд сведений о проекте (рис. 10):
Рис. 10
проекта
Установки опций
Вкладка
Заголовок
Title) - заголовок
отображаемый в
заголовка окна
до 50 символов).
Заданный
Раздел (Default
содержания
в
(если
не
*.cnt файл), или
General.
Справки
(Help
файла справки,
области
WinHelp (длина
по
умолчанию
Topic) - раздел
файле
справки
используется
заданный
по
Создание справочной системы для приложения в формате Windows Help
15
умолчанию раздел.
Информация, добавляемая к окну Version программы Winhelp,
и при печати.
Вкладка Files.
Имя файла справки (Name of Help File to Create) - это имя
файла справки после компиляции с .hlp расширением продлением.
По умолчанию используется имя проекта.
Местоположение файла содержания (Name of Contents File).
Пути поиска файлов с изображениями (Bitmap Search Path) если изображения, используемые в файле справки не находятся в том
же самом каталоге где проект, необходимо указать путь к ним для
компилятора. Если изображения добавляются с использованием
диалога открытия изображения, они будут автоматически
добавляться.
Добавление файлов *.rtf для компиляции (RTF files to include in
build) и загрузка файла *.rtf для создания на его основе шаблона
оформления (New topic template).
Вкладка Advanced.
Макрос конфигурации (Configuration macros) – набор winhelpмакрокоманд, которые будут выполнены, когда файл справки
сначала будет загружен. В данном случае макрокоманда BrowseButtons() добавит кнопки пролистывания к панели Winhelp.
Далее указываются включаемые для компиляции разделы и
опции сжатия файла справки для уменьшения места, занимаемого на
диске.
Установка свойств окна.
Задание свойств окна осуществляется выбором пункта меню
Project->Windows.
В появившемся диалоге (рис.) задаются свойства окна: во
вкладке General Options: Window Type (тип окна) – одно должно
быть типа main; имя и заголовок (Name, Caption); цветовая схема для
статической (fixed) и динамической (Scrolling) частей; размеры окна.
Во вкладке Buttons: Buttons – выбор, какие кнопки будут доступны в
справочном окне.
Stay on Top вывод справки поверх всех остальных окон.
Window Maximized – вывод справки на полный экран.
16
Создание справочной системы для приложения в формате Windows Help
Настроим внешний вид окна в соответствии с изложенными
инструкциями (рис. 11).
Рис. 11. Настройка свойств окна
Для улучшения внешнего вида и читаемости справки
используется цветовое оформление и разбиение на статический и
динамический фреймы.
Разбиение на статическую и динамическую части производится
вставкой тэга [endstatic] или нажатием кнопки
.
Далее отредактируем в списке тем в колонке Topic название
первого раздела, после чего набъём в редакторе его содержание.
Разобьем текст на две части тэгом [endstatic] (рис. 12).
Аналогичным
образом
создадим
остальные
разделы
справочной системы. Новый раздел добавляется к проекту нажатием
клавиши
, выбором пункта меню Topic->Add или нажатием
сочетания клавиш Ctrl++.
Создание справочной системы для приложения в формате Windows Help
17
Рис. 12
Для улучшения восприятия материала часто бывает
необходимо вставлять иллюстрации. Вставка изображений
осуществляется указанием тэга {bml *.bmp}, где *.bmp имя файла с
изображением, или выполнением диалога вставки иллюстрации
нажатием
кнопки
.
Окно
диалога
вставки
изображений
представлено на рис. 13.
18
Создание справочной системы для приложения в формате Windows Help
Рис. 13
В диалоге задаётся имя файла с изображением, выравнивание
относительно центра документа и прозрачность.
Вставим по описанной выше методике файл с изображением
главного окна приложения, для которого разрабатывается файл
справки (рис. 13). После компиляции этот раздел будет выглядеть
следующим образом (рис. 14).
Создание справочной системы для приложения в формате Windows Help
19
Рис. 14
3.2 Создание перекрестных ссылок
Справочная система, созданная с использованием компилятора
Help Compiler, имеет вид гипертекста, состоящего из разделов,
связанных между собой ссылками или частей одного раздела,
помеченных меткой anchor (якорь). Для вставки метки anchor
необходимо установить курсор в то место, где необходимо
разместить метку и щёлкнуть кнопку
. Ссылки создаются
непосредственно в тексте раздела.
Любая ссылка состоит из двух частей. Первая часть - это текст,
который виден пользователю и отображается, как правило, зеленым
цветом с подчеркиванием сплошной или пунктирной линией. Для
выполнения перехода пользователь должен сделать щелчок левой
клавишей мыши по выделенному таким образом тексту. Вторая часть
не видна пользователю. Это строка контекста раздела, на который
выполняется переход.
20
Создание справочной системы для приложения в формате Windows Help
Создание ссылки создаётся следующим образом. Сначала
выделяется мышью та часть текста, которая видна пользователю как
гиперссылка, а затем после нажатия кнопки
свойства ссылки (рис. 15).
настраиваются
Рис. 15
Необходимо указать ряд свойств гиперссылки:
1. Link appearance (вид ссылки) внешний вид ссылки в
справочной системе. Предлагается три варианта:
зелёный с подчёркиванием; только подчёркивание и без
выделения цветом и подчёркивания.
2. Target location (расположение объекта перехода) указывает на какой объект будет осуществлён переход.
Предлагается четыре варианта перехода:
 Topic in this help file, на раздел в данном файле
справки
(в
этом
случае
указывается
идентификатор раздела, тип окна для вывода, и
необходимость вывода раздела во временное
Popup окно);
 Anchor in this help file, на часть текста внутри
данного раздела, помеченную меткой anchor
якорь (в этом случае необходимо указать
Создание справочной системы для приложения в формате Windows Help
21


идентификатор метки, тип окна для вывода, и
необходимость вывода раздела во временное
Popup окно);
Another help file, на другой help file (в этом
случае необходимо указать идентификатор
раздела в файле, путь к файлу, тип окна для
вывода, и необходимость вывода раздела во
временное Popup окно);
WinHelp Macro – вод макрокоманды для
выполнения каких-либо действий (в этом случае
в окно вводится текст программы на языке
макрокоманд).
Создание вторичного окна
При создании ссылки на раздел можно указать, что его
содержимое должно отображаться во вторичном окне. Для этого при
указании типа необходимо выбрать тип окна не выбранный по
умолчанию под именем main, а любое другое.
Упражнение 2. Создание гиперссылок в документе
Добавим к разработанному набору разделов несколько
гиперссылок, упрощающих работу с системой. Откроем раздел
“Интерфейс пользователя”, выделим мышью слово разработчик и
нажмём кнопку
для настройки свойств гиперссылки. Укажем в
диалоге, что информация выводится во временное окно, и укажем в
качестве идентификатора раздела 60 с заголовком “Автор”.
Откомпилируем и запустим на просмотр файл справки.
Самостоятельно создадим ссылки на раздел “Руководитель”,
ссылку на файл “Borland C++ Builder\Help\teechart.hlp” c описанием
функций компоненты teechart, используемой в приложении для
построения графика. Идентификатор любого раздела можно
просмотреть, если открыть файл оглавления в редакторе Help Pad.
3.3. Создание оглавления справки
22
Создание справочной системы для приложения в формате Windows Help
Для начала проектирования оглавления необходимо в главном
окне Help Pad щёлкнуть на кнопку
редактора оглавления (рис. 16).
, после чего откроется окно
Рис. 16. Главное окно редактора оглавления
Файл оглавления состоит из заголовков (Items) ссылающихся
на другие заголовки или разделы и разделов. Внешний вид
заголовков отличается от разделов (изображается в виде книги,
которая раскрывается при нажатии).
Чтобы добавить заголовок необходимо щёлкнуть на кнопке с
изображением плюса, после чего указать, что создаётся заголовок
(Heading) и ввести его название, которое будет отражаться в
оглавлении.
Разделы проще всего переносить из левого окна нужное место
правого перетаскиванием мышью.
Иерархия и вложенность заголовков друг в друга позволяют
кнопки перемещения заголовков и разделов . Чем левее
Создание справочной системы для приложения в формате Windows Help
23
находится заголовок, тем он главнее в иерархии заголовков, т.е.
более левый заголовок включает в себя все более правые. То же
относится и к разделам.
Упражнение 3. Создание оглавления
Скомпонуем заголовки и разделы так, как указано на рис. 17.
4. Вызов справки из приложений Windows
Приложения Windows обращаются к справочной системе с
помощью специально предназначенной для этого функции WinHelp.
Когда приложение вызывает эту функцию, происходит запуск
приложения winhelp.exe. Вызывая функцию WinHelp, приложение
может отобразить на экране любую информацию, обычно доступную
пользователю через меню или кнопки окна Toolbar приложения
winhelp.exe.
Хорошо спроектированное приложение имеет меню "Help", с
помощью которого пользователь может получить доступ к
оглавлению и предметному указателю справочной системы. Кроме
этого, обычно имеется возможность получения так называемой
контекстно-зависимой справочной информации.
Когда пользователь нажимает клавишу <F1> или <Shift+F1>,
приложение выдает справочную информацию, которая зависит от
того, в каком состоянии находятся органы управления приложения,
какая строка какого меню выделена, около какого слова в
редактируемом тексте находится курсор и т. п.
Функция WinHelp позволяет организовать поиск нужного
раздела в справочной системе и отображение его на экране. Задача
отслеживания текущего состояния органов управления и
организации контекстно-зависимой подсказки лeжит на плечах
разработчика приложения.
Прототип функции WinHelp
Прототип функции WinHelp определен в файле windows.h:
<FONT COLOR=#000080>BOOL WINAPI WinHelp(
HWND hwndMain, // идентификатор окна
LPCSTR lpszHelp, // путь к hlp-файлу
UINT usCommand, // код операции
DWORD ulData); // дополнительные данные</FONT>
24
Создание справочной системы для приложения в формате Windows Help
Параметр hwndMain перед вызовом функции должен содержать
идентификатор окна, для которого вызывается справочная система.
Через параметр lpszHelp передается указатель на текстовую
строку, закрытую двоичным нулем, в которой должен быть записан
путь к hlp-файлу, содержащему нужную справочную систему.
Функция WinHelp может выполнять одну из нескольких
операций в зависимости от значения параметра usCommand:
Команда
Описание
HELP_COMMAND0x0102
Выполнение макрокоманды, заданной параметром
ulData. Этот параметр должен содержать дальний
указатель на текстовую строку, содержащую
макрокоманду. Перед использованием команды
HELP_COMMAND необходимо, чтобы было
запущено приложение winhelp.exe и чтобы нужный
hlp-файл был открыт
HELP_CONTENTS0x0003
Отображение
раздела,
выполняющего
роль
оглавления справочной системы. Параметр ulData
для этой команды должен быть равен нулю
HELP_CONTEXT0x0001
Отображение содержимого раздела, заданного
номером контекста, определенным в разделе MAP
файла проекта справочной системы. Через
параметр ulData передается номер контекста
отображаемого раздела
Отображение содержимого раздела, заданного
номером контекста, во временном окне. Номер
HELP_CONTEXTPOPUP0x0008 контекста должен быть определен в секции MAP
файла проекта справочной системы и указан в
параметре ulData
HELP_FORCEFILE0x0009
Если в момент вызова функции WinHelp с этим
кодом операции отображается правильный hlpфайл, функция отрабатывает вхолостую. В
противном случае отображается раздел оглавления,
заданный в секции CONTENTS файла проекта
справочной системы. Параметр ulData для этой
команды должен быть равен нулю
HELP_HELPONHELP0x0004
Отображение раздела оглавления справочной
системы,
содержащей
информацию
об
использовании приложения winhelp.exe. Параметр
ulData должен быть равен нулю
HELP_INDEX0x0003
Синоним HELP_CONTEXT, использовался раньше
в функции WinHelp для Windows версии 3.0
Создание справочной системы для приложения в формате Windows Help
25
HELP_KEY0x0101
Отображение раздела справочной системы в
соответствии с ключевым словом, передаваемым
через параметр ulData. Этот параметр должен
содержать дальний указатель на текстовую строку,
содержащую ключевое слово
HELP_MULTIKEY0x0201
Аналогично предыдущему, но с использованием
альтернативной таблицы ключей. Параметр ulData
должен содержать дальний указатель на структуру
MULTIKEYHELP, определяющую символ сноски
для альтернативного ключа и ключевое слово
HELP_POPUPID0x0104
Отображение содержимого раздела, заданного
номером контекста, во временном окне. Через
параметр ulData передается номер контекста
отображаемого раздела, определенный в разделе
MAP файла проекта справочной системы.
HELP_PARTIALKEY0x0105
Аналогично HELP_KEY, однако отображаются
разделы,
для
которых
имеется
неполное
соответствие (несколько начальных символов
ключевого слова)
HELP_QUIT0x0002
Завершение работы с hlp-файлом. Если ни одно
другое приложение не выполняет никаких
операций со справочной системой, приложение
winhelp.exe завершает свою работу. Параметр
ulData должен быть равен нулю
HELP_SETCONTENTS0x0005
Раздел, номер контекста которого указан в
параметре ulData, будет выполнять функции
оглавления справочной системы. Номер контекста
раздела должен быть определен в секции MAP
файла проекта справочной системы
HELP_SETINDEX0x0005
Синоним HELP_SETCONTEXT, использовался
раньше в функции WinHelp для Windows
версии 3.0
HELP_SETWINPOS0x0203
Изменение размеров и расположения окна
приложения winhelp.exe в соответствии со
значениями,
определенными
в
структуре
HELPWININFO, указатель на которую передается
через параметр ulData
Для привязки файла справки к приложению используется
пункты меню Borland C++ Builder Option->Project, затем в закладке
26
Создание справочной системы для приложения в формате Windows Help
Application с помощью кнопки Browse напротив окошка Help file
указывается путь к файлу справки.
После этого, добавляется обработчик события к любому
управляющему элементу для вызова первой страницы
{
Application->HelpCommand(HELP_CONTENT,0);
}
для вызова закладки Search (Поиск) справочной системы
{
Application->HelpCommand(HELP_PARTIALKEY,(long)””);
}
Для создания контекстно-зависимой справки необходимо
указать идентификатор раздела справки в свойстве HelpContext
любого визуального компонента в проекте Borland C++ Builder.
После этого, если этот компонент в запущенном на выполнение
приложении выделен мышью, то при нажатии клавиши F1 вызовется
раздел справочной системы с указанным идентификатором.
5. Требования к отчёту
1. Постановка задачи (необходимость написания файла справки,
краткое описание программного продукта и что будут отражать
разделы справочной системы)
2. Файловая структура проекта справочной системы (список и
расшифровка назначения файлов из которых состоит проект файла
справки исходные, проектные, откомпилированные, файлы
содержания и если есть дополнительные)
3. Логическая структура файлов (иерархия организации
разделов – аналог содержания со всеми раскрытыми ссылками на
разделы)
4. Распечатки содержания всех разделов с указанием в начале
раздела всех его атрибутов (ID, Topic, Keywords и т.д.)
5. Распечатка всех обработчиков проекта для которого пишется
файл справки, где происходит обращение к разделам справочной
системы.
Создание справочной системы для приложения в формате Windows Help
27
Библиографический список
1. Шамис В.А. Borland C++ Builder. Программирование на С++
без проблем. М.:”Нолидж”, 1997 – 266 с.
2. Елманова Н.Э., Кошель С.П. Введение в Borland C++
Builder4 -М.: Диалог-МИФИ, 1999 - 352 с.
3. Архангельский А.Я. Программирование в Borland C++ Builder 4 - М.: ЗАО Издательство "БИНОМ", 1999 - 928 с.
Учебное издание
РАЗРАБОТКА СПРАВОЧНОЙ СИСТЕМЫ ДЛЯ ПРИЛОЖЕНИЙ В
ФОРМАТЕ WINDOWS-HELP
Методические указания для выполнения лабораторной работы по
дисциплине "Информатика и распределённые базы данных"
Для студентов специальности 210200
Редактор Н.Р. Подобедова
Корректор Н.В. Бургонова
Компьютерный набор и вёрстка А.А. Хвостов
ЛР № 020449 от 31.10.97. Подписано в печать
.
Формат 60х84 1/16. Бумага офсетная. Гарнитура Таймс. Ризография. Усл.
Печ. Л. 1,16. Уч.-изд. Л. 1,0. Тираж 100 экз. Заказ
.
Воронежская государственная технологическая академия (ВГТА)
Участок оперативной полиграфии ВГТА
Адрес академии и участка оперативной полиграфии:
394017 Воронеж, пр. Революции, 19
28
Создание справочной системы для приложения в формате Windows Help
Download