Використання HTML Help в додатках на Visual Basic

Зміст



Якщо ви коли-небудь дивилися довідку у Internet Explorer (IE) останніх версій, то напевно задавалися питанням, як створити довідкову систему для вашого застосування подібно цієї? У цій статті розповідається як сформувати систему html-довідки, використовуючи Microsoft HTML Help Workshop, і як викликати з VB-додатки готовий довідковий файл.

Вперше Microsoft представила HTML Help – нову довідкову систему, засновану на html – у серпні 1997 як заміну WinHelp. Це було відносно нове і не використовувалося в інших додатках, крім IE. Однак, як ми можемо зараз бачити – все нові версії продуктів Microsoft використовують HTML Help: починаючи грою "Пасьянс" і закінчуючи операційною системою Windows 98. Щоб використовувати поради з даної статті на вашому комп'ютері повинен бути встановлений як мінімум IE 3.02 (для використання всіх функцій HTML Help ви потребуєте в одній з останніх версій IE).

Основи


Типове вікно HTML Help складається з трьох основних частин, як показано на Рис.1. У верхній частині панель інструментів, яка містить кнопки управління. У лівій нижній частині – вікно навігації, імпортоване з ActiveX-компонента HHCtrl.OCX і надає можливості перегляду змісту, індексу і функцію пошуку. У правій нижній частині – вікно змісту, яке діє як контейнер для HTML документів.

Рис.1. Три частини вікна Довідки Internet Explorer 4.0.



HTML Help Workshop

Для створення файлів HTML Help ви можете використовувати спеціалізований редактор HTML Help Workshop, створений Microsoft. HTML Help Workshop доступний для завантаження на сайті Microsoft. У цій частині показується, як зробити просту довідкову систему з використанням цього інструменту. Перш ніж почати, встановіть HTML Help Workshop на вашу машину і подивіться табл.1, що дає пояснення до різних типів файлів, використовуваних в HTML Help.

Табл.1. Файли, що використовуються в HTML Help.























Extension  Type 
HHP Help project
HHC Table of contents
HHK Index
CHM Compiled Help
HTM Individual Help
H Header files

Створення проекту Довідки HTML Help

До того, як ви зможете почати формувати вашу систему Довідки, ви повинні створити всі HTML-файли, які будуть потрібні для створення довідкового файлу. Потім створіть каталог HTMLHelp і збережіть там підготовлені HTML-файли – це буде каталог вашого проекту.

Тепер відкрийте HTML Help Workshop і виберіть у меню пункт File / New. В діалоговому вікні New виберіть Project й виберіть OK. Запуститься майстер Проекту (New Project Wizard) запропонує вам виконати ряд кроків для створення вашого проекту. Переконайтеся, що перевірили опцію HTML Files у вікні New Project-Existing Files і додали ваші HTML-файли до створюваного проекту. Натисніть кнопку Finish, щоб створити проект. Рисунок 2 показує типове вікно HTML Help Workshop.

Рис.2. Вікно редактора HTML Help Workshop.



Головне вікно HTML Help Workshop складається з чотирьох закладок: Проект, Зміст, Індекс, Довідка та набору кнопок для кожної закладки. Ви можете використовувати закладку Проект (Project), щоб змінити параметри проекту, додати або видалити файли змісту, змінити налаштування вікна і встановити параметри для HTMLHelp API. Установка настройок вікна і HTMLHelp API важлива для VB розробників. Ми покажемо вам пізніше як встановити ці параметри.

Додавання змісту та індексних файлів

Файл змісту визначає зміст, який ви будете бачити в закладці Contents у майбутньому довідковому файлі. Зміст звичайно організований у вигляді дерева з розділами, підрозділами і сторінками.

Щоб додати файл змісту до вашого проекту клацніть закладку Contents (Зміст) і побачите діалог Table Of Contents Not Specified. Виберіть Create A New Contents File, щоб створити пусту таблицю файлу змісту. Тепер ви зможете додати ваш зміст, використовуючи кнопки Insert Heading і Insert Page. У діалогових вікнах, які з'являються, коли ви обираєте ці параметри, ви можете зіставити HTML-файли з розділами і сторінками. Ви можете також редагувати, видаляти або реорганізовувати ваші розділи і сторінки, використовуючи кнопки Edit, Delete і Move Selection.

Індексний файл містить ключові слова, які ви бачите, коли клацаєте закладку Index. Щоб додати індексного файлу до вашого проекту клацніть закладку Index і побачите діалог Index Not Specified. Виберіть Create New Index і створіть порожній індексний файл. Ви можете додавати ключові слова, які використовують кнопку Insert A Keyword і зіставляти HTML-файл з цим ключовим словом. Ви можете також редагувати, видаляти або реорганізовувати ключові слова, використовуючи кнопки Edit, Delete і Move Selection.

Параметри вікна і HTMLHelp API

Параметри вікна дозволяють вам визначати вид довідкового вікна при запуску. Ви можете визначити, які кнопки показувати на Панелі Інструментів, які закладки показувати на Панелі Навігації і встановлювати інші властивості, які змінюють вигляд довідкового вікна.

Коли ви викликаєте HTMLHelp API з VB, ви можете звернутися до цих властивостях і показувати довідкове вікно в різних стилях. Клацніть закладку Project, потім кнопку Add / Modify Window Definitions. У вікні Add A New Window Type введіть MyWindow (або будь-яке інше назва) і клацніть OK. У діалоговому вікні Window Type ви можете вибрати різні закладки, щоб змінити кнопки, стилі і т.д. Клікнувши OK, буде створено нове визначення вікна.

Якщо вам треба включити у ваш довідковий файл закладку Search – клацніть Панель Навігації і виберіть Add Search Tab. Натиснувши OK – перед вами з'явиться Майстер, який допоможе створити функцію пошуку. На другому кроці виберіть Compile Full-text Search Information, щоб дозволити компілятору Довідки сформувати ключові слова для пошуку.

Кнопка HTMLHelp API Information дозволяє встановити параметри контекстно-залежної довідки. Коли ви натиснете цю кнопку, ви побачите діалог HTMLHelp API information. Ви можете зіставити файл заголовків, який визначає всі контекстні ідентифікатори, у закладці Map (Карта). Рис.3 показує зміст типового файлу заголовків.

Рис.3. Файл заголовків, використовуваний HTMLHelp API.



Ви можете використовувати закладку Alias, щоб зіставити константи ідентифікаторів контекстної Довідки, визначені в заголовку HTML-файлу, як показано на рис.4. Коли ви викликаєте HTMLHelp з VB з константою ідентифікатора контекстної Довідки, ви можете показати потрібну тему Довідки, пов'язану з цією константою.

Рис.4. Зіставлення ідентіфікторов з HTML-файлами в закладці Alias.



Ви можете також встановлювати "спливаючий" текст використовуючи закладку Text Pop-ups. Детальніше про цю можливість дивіться в он-лайн Довідці по HTML Help Workshop.

Компіляція вашого проекту Довідки

Перш, ніж ви почнете компілювати, натисніть кнопку Change Project Options в закладці Project і виберіть Default File для вашого проекту в закладці General. Ви можете також натиснути закладку Files, щоб змінити назву скомпільованого файлу або перевірити зміст та індексні файли. Натисніть кнопку Save All Project Files And Compile, щоб відкомпілювати ваш файл.

За замовчуванням, ваш відкомпільований довідковий файл буде мати те ж саме назву як файл проекту з розширенням CHM. Якщо протягом компіляції у вашому проекті зустрінуться будь-які помилки ви побачите їх у правому вікні. Після успішної компіляції ви зможете викликати вашу Довідку з VB.


Виклик Довідки з VB


Ви можете використовувати API-функцію HTMLHelp, щоб показувати довідкові файли з VB. Зараз ми покажемо вам, як використовувати HTMLHelp API так, щоб ви змогли багаторазово використовувати це. Для початку створимо клас і назвемо його CHelp. Додайте наступний код а ваше VB-додаток:

” Constant declarations

Private Const HH_DISPLAY_TOPIC = &H0

Private Const HH_HELP_CONTEXT = &HF

” API declaration

Private Declare Function HtmlHelp Lib _

“hhctrl.ocx” Alias “HtmlHelpA” _

(ByVal hwndCaller As Long, _

ByVal pszFile As String, _

ByVal uCommand As Long, ByVal dwData As Long) _

As Long


Клас CHelp має один метод – Show, він показаний у наступному прикладі і має одним з параметрів – ім'я файлу. Це ім'я файлу може бути відкомпілювалися файлом (CHM) або HTML-файлом (HTM). У першому випадку ви можете використовувати наступні два параметри для керування вікном Довідки. Другий параметр WindowPane є необов'язковим. Він відповідає за налаштування вікна, які ми обговорювали раніше і може використовуватися, щоб відображати довідку у різних видах. Третій параметр ContextID є також необов'язковим. Підставивши значення ContextID ви зможете реалізувати контекстно-залежну довідку.

Public Sub Show(NewFile As String, _

Optional WindowPane As String, Optional ContextID)

Dim strFile As String

Dim hRet As Long

strFile = NewFile

If Len(WindowPane) Then

“you need to include > symbol with the file name

strFile = Trim(strFile) & _ “>”&Trim(WindowPane)

End If

If IsMissing(ContextID) Then

hRet =HtmlHelp(0, strFile, _ HH_DISPLAY_TOPIC, _

ByVal 0&)

Else

hRet = HtmlHelp(0, strFile, _ HH_HELP_CONTEXT, _

ContextID)

End If

End Sub


Як бачите, ви повинні включити символ ">" з ім'ям файлу, якщо ви використовуєте WindowPane. Команда HH_DISPLAY_TOPIC показує вміст довідки у вікні Help. HH_HELP_CONTEXT відображає довідку в залежності від ContextID. HTMLHelp API поверне покажчик створеного довідкового вікна.

Використання класу CHelp

Як тільки ви створюєте класу CHelp, все, що ви повинні робити – виклик методу Show з ім'ям відкомпільованого файлу в якості першого параметра. Ви можете також передавати назва HTML-файлу, щоб відкрити його безпосередньо у вікні теми довідки без Панелі Навігації і Панелі Інструментів.

Наступний приклад показує, як викликати метод Show у процедурі події Click кнопки cmdShow. Ви можете спробувати виклик з іншими параметрами, щоб управляти вікном Довідки.

Private Sub cmdShow_Click()

Dim strFile As String

Dim objHelp As CHelp

Set objHelp = New CHelp

strFile = App.Path & “HelpFilesHTMLHelp.chm”

Call objHelp.Show(strFile, “MyWindow”)

Set objHelp = Nothing

End Sub


Висновок


HTML Help – довідкова система нового рівня, яка додасть вашому додатку сучасний вигляд. Так як в її основі лежить HTML, то ви можете включати у вашу довідку зображення, відеоролики, анімацію і звук. Можливості нескінченні.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*