HTML Help

   
На этом шаге мы рассмотрим создание справки HTML Help.

   
Справочная система HTML Help предлагается фирмой Microsoft в качестве платформы для справочных
систем следующего поколения. Для отображения справки в ней применяются разнообразные компоненты Microsoft Internet Explorer:
языки HTML и Java, элементы управления на базе ActiveX, сценарии JavaScript и
Microsoft Visual Basic Scripting Edition, графические файлы в форматах JPEG и GIF. Все эти
элементы позволяют создать справочную систему, обладающую можностями и внешним видом полноценного Web-узла.
Эту систему можно снабдить ссылками на внешние ресурсы, чтобы, например, при необходимости обращаться к
Web-узлу.

   
Средство просмотра HTML-справки содержит панель инструментов и элементы управления для оглавления и
предметного указателя, предназначенные для перемещения по страницам справки.

   
Справку в формате HTML Help придется создавать вручную. Однако эта задача облегчается тем, что среда
разработки HTML Help Workshop имеет много общего с Help Workshop для WinHelp. А главное, с ее
помощью можно легко преобразовать WinHelp-проект (файл с расширением *.hpj) в проект HTML-справки
(файл с расширением *.hlp). Файлы в формате RTF преобразуются в HTML-файлы, растровые
файлы с расширением *.bmp - в GIF-файлы, а файлы оглавления с расширением *.cnt - в
эквивалентные файлы с расширением *.hhc. Выходным файлом компилятора является файл с расширением
*.chm в формате сжатого HTML-файла.

   
В нашу задачу не входит полное описание справочной системы HTML Help. Однако несколько упражнений,
которые мы предлагаем, помогут Вам начать работу с ней. Сначала мы преобразуем проект WinHelp в проект
HTML-справки и создадим файл MyHHelp.hhp. Затем сгенерируем файл справки MyHHelp.chm
и добавим в приложение МуАрр код, необходимый для отображения справки.

   
Перед выполнением заданий нужно установить HTML Help на компьютере.

  • Установка HTML Help.
  • Запустите программу Htmlhelp.exe, которая находится в каталоге HtmlHelp на диске 1 дистрибутива
    Visual C++ или Visual Studio.
  • Следуя инструкциям, установите HTML Help в папку по умолчанию C:\Program Files\HTML Help Workshop.
  • Преобразование проекта WinHelp.
  • В Visual Studio закройте все открытые проекты. Открыв в Проводнике папку проекта МуАрр,
    создайте в ней подкаталог hlp.
  • В меню Пуск выберите подменю Программы, затем - HTML Help Workshop
    и, наконец, HTML Help Workshop.
  • В HTML Help Workshop в меню File щелкните New.
  • Выберите создание нового проекта, щелкнув ОК.
    Рис.1. Выбор нового проекта
  • В окне 1 мастера New Project Wizard установите флажок Convert WinHelp Project и щелкните Next.
    Рис.2. Установка флажка Convert WinHelp Project
  • В окне 2 мастера введите полный путь к файлу проекта MyHelpApp.hpj в первом поле (например,
    C:\Program Files\Microsoft Visual Studio\My Projects \MyApp\hlp \MyApp.hpj).
  • Во втором поле введите полный путь к созданной в первом пункте папке hlp. В качестве имени файла
    проекта введите MyHHelp (например, C:\Program Files\Microsoft Visual Studio\MyProjects\MyApp\ hlp\MyHHelp).


    Рис.3. Второй шаг мастера

  • Щелкните Next (Далее), а затем - Finish (Готово). Созданный файл MyHHelp.hhp откроется
    в HTML Help Workshop.


    Рис.4. HTML Help Workshop

  • Щелкните кнопку Save all project files and compile для того, чтобы создать файл справки. Эта кнопка находится внизу вертикальной
    панели инструментов, расположенной слева от информационного окна проекта (рисунок 4).

   
По окончании компиляции закройте HTML Help Workshop. В папке ...\MyApp\hlp найдите файл
MyHHelp.chm и откройте его двойным щелчком. Вы увидите, что WinHelp-файл, созданный для
MyHelpApp, полностью преобразован в формат HTML Help.


Рис.5. Файл MyHHelp.chm

   
Научимся вызывать файл MyHHelp.chm из приложения МуАрр средствами HTML Help API. Для этого понадобится
установить связь между библиотекой HTML-справки и нашим приложением.

  • Вызов HTML-справки из приложения МуАрр.
  • В Visual C++ откройте проект МуАрр. В меню Project выберите команду Settings.
  • Щёлкните вкладку Link. В списке Category выберите Input.
  • В поле Object/library modules modules введите htmlhelp.lib.
  • В поле Additional library path задайте путь к каталогу, где находится файл htmlhelp.lib (например
    C:\Program Files\HTML Help Workshop\lib).


    Рис.6. Окно Project Settings, вкладка Link

  • Щёлкните вкладку C/C++. В списке Category выберите Preprocessor.
  • В поле Additional include directories введите путь к каталогу, где находится файл htmlhelp.h (например,
    C:\Program Files\HTML Help Workshop \include).
  • Щелкните OK, чтобы сохранить параметры.
    Рис.7. Окно Project Settings, вкладка C/C++
  • На вкладке FileView найдите и откройте файл StdAfx.h. Добавьте после других операторов #include следующую строку:
        #include <htmlhelp.h>
    
  • Откройте меню IDR_MAINFRAME в редакторе. Добавьте в меню Help новый пункт с названием
    &Help Topics. Закройте и откройте диалоговое окно Menu Item Properties, чтобы убедиться, что
    созданной команде присвоен идентификатор ID_HELP_HELPTOPICS.


    Рис.8. Пункт меню &Help Topics

  • Средствами ClassWizard для командного сообщения ID_HELP_HELPTOPICS в классе
    CMainFrame создайте функцию-обработчик OnHelpHelptopics().


    Рис.9. Создание функции OnHelpHelptopics()

  • Поместите в тело функции следующий код:
      ::HtmlHelp(NULL, 
      "C:\\Program Files\\Microsoft Visual \
       Studio\\MyProjects\\MyApp\\hlp\\MyHHelp.chm", 
      HH_DISPLAY_TOPIC, 0);	
    

       
    В Вашей программе этот кодможет выглядеть иначе, если путь к СНМ-файлу отличается от выбранного нами.
    Заметьте, что в текстовых строках символ \ должен быть представлен ESC-последовательностью \\.
    Разбивая текстовую строку на несколько строк, не забудьте вставлять в конце каждой строки символ продолжения \.

       
    Функция HtmlHelp() является ядром HTML Help API. Она позволяет отображать во всплывающем окне
    СНМ- и HTML-файлы, информацию об URL-адресе и обычный текст. В многочисленных
    параметрах этой функции задаются как источники информации, так и способы ее отображения на экране. Подробнее об
    этой функции - в разделе "HTML Help API reference" справочной системы Visual C++.

  • Соберите приложение МуАрр. Не обращайте внимания на сообщения компоновщика о конфликтах,
    связанных с библиотеками, - это побочный эффект компоновки библиотеки htmlhelp.lib, который не влияет на
    работу приложения. Запустите приложение и в меню Help выберите команду Help Topics. На экране
    появится приложение HTML Help, отображающее файл справки MyHHelp.chm.


    Рис.10. Вызов справочной системы

   
Текст измененного приложения можно взять здесь (114,2 Кб).

   
На следующем шаге мы вернемся с приложению STUpload.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий