Creating HTML Help 
with Microsoft's HHW 
by Ceriel B. Cunanan, ECE
Add pdf to powerpoint presentation - control Library platform:C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF in C#.net, ASP.NET MVC, WinForms, WPF
Online C# Tutorial for Creating PDF from Microsoft PowerPoint Presentation
www.rasteredge.com
Add pdf to powerpoint presentation - control Library platform:VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to PDF in vb.net, ASP.NET MVC, WinForms, WPF
VB.NET Tutorial for Export PDF file from Microsoft Office PowerPoint
www.rasteredge.com
Copyright © 2003 JTF Associates, Inc. 
All rights reserved. 
All rights reserved. Printed in the United States of America. No part of this work may be reproduced or 
used in any form or by any means–graphic, electronic, or mechanical, including photocopying, recording, 
taping, or information storage and retrieval systems–without the written permission of the author. 
Products and services that are referred to in this book may be either trademarks and/or registered 
trademarks of the respective owners. The author makes no claim to these trademarks. 
While every precaution has been taken in the preparation of this material, the author assumes no 
responsibility for errors or omissions, or for damages resulting from the use of information contained in 
this material or from the disks or programs that may accompany it. In no event shall the publisher and the 
author be liable for any loss of profit or any other commercial damage caused or alleged to have been 
caused directly or indirectly by this material 
This document was created using AuthorIT™, Total Document Creation. AuthorIT™ is a trademark of 
AuthorIT Software Corporation Ltd. 
JTF Associates, Inc.
PO Box 8140 
Lynn, Massachusetts 01904 
USA 
+1 781.598.5129 
E-mail: information@helpstuff.com 
Web site: http://www.helpstuff.com 
control Library platform:VB.NET PowerPoint: Use PowerPoint SDK to Create, Load and Save PPT
an empty PowerPoint file with our reliable .NET PPT document add-on; a fully customized blank PowerPoint file by using the smart PowerPoint presentation control
www.rasteredge.com
control Library platform:VB.NET PowerPoint: Sort and Reorder PowerPoint Slides by Using VB.
index = 1 End If correctOrder.Add(index) Next clip art or screenshot to PowerPoint document slide powerful & profession imaging controls, PDF document, image
www.rasteredge.com
Contents 
What Is HTML Help? 
What Are the Advantages of HTML Help?.........................................................................................2
Are There Any "Gotchas"?..........................................................................................................2
Comparing HTML Help to WinHelp....................................................................................................3
Comparing HTML Help to HTML-Based Help...................................................................................4
Understanding HTML Help Workshop (HHW) 
Using the Interface.............................................................................................................................5
Menu Options..............................................................................................................................5
Tabs.............................................................................................................................................6
Toolbars.......................................................................................................................................6
What Are the Advantages of HHW?..................................................................................................9
What Are the Disadvantages of HHW?.............................................................................................9
Converting WinHelp Projects with HHW............................................................................................9
Advantages..................................................................................................................................9
Disadvantages...........................................................................................................................10
Creating an HTML Help Project with HHW 
11 
Creating a Project File.....................................................................................................................11
Modifying the Project Settings.........................................................................................................13
Customizing the Window.................................................................................................................15
Adding a Search Stop List...............................................................................................................18
Exercise 1: Creating a Project.........................................................................................................18
Working with Topics 
19 
Creating New Topics........................................................................................................................19
Adding Topics to a Project...............................................................................................................20
Applying Style Sheets to Topics......................................................................................................21
Setting the Default Topic..................................................................................................................21
Exercise 2: Adding Topic Files.........................................................................................................22
Saving and Compiling 
23 
Setting the Compilation Options......................................................................................................24
Compiling the Project.......................................................................................................................25
Viewing the Results.........................................................................................................................26
Exercise 3: Compiling the Project....................................................................................................26
Contents 
control Library platform:VB.NET PowerPoint: VB Codes to Create Linear and 2D Barcodes on
Here is a market-leading PowerPoint barcode add-on within VB.NET class, which means it as well as 2d barcodes QR Code, Data Matrix, PDF-417, etc.
www.rasteredge.com
control Library platform:VB.NET PowerPoint: Merge and Split PowerPoint Document(s) with PPT
For Each doc As [String] In dirs docList.Add(doc) Next code in VB.NET to finish PowerPoint document splitting If you want to see more PDF processing functions
www.rasteredge.com
Creating Hyperlinks 
27 
Creating Text-Only Popups..............................................................................................................28
Creating the Script.....................................................................................................................28
Creating the ActiveX Control.....................................................................................................29
Creating the Hyperlink...............................................................................................................29
Exercise 4: Creating Hyperlinks.......................................................................................................29
Designing the Table of Contents 
31 
Creating the Table of Contents........................................................................................................31
Changing the Contents Settings......................................................................................................32
Changing the Headings and Pages Settings...................................................................................33
Adding Headings.......................................................................................................................34
Adding Pages............................................................................................................................34
Assigning Topics to Headings...................................................................................................35
Modifying Your Project to Use the Contents File.............................................................................35
Exercise 5: Creating a Table of Contents........................................................................................35
Designing an Index 
37 
Understanding the Differences: Sitemap and Binary Indexes.........................................................37
Creating an Index.............................................................................................................................38
Adding Index Entries to the Index File.............................................................................................39
Adding Keywords to Topic Files.......................................................................................................40
Creating See and See Also Keywords.............................................................................................41
Sorting the Index..............................................................................................................................42
Changing the Index Settings............................................................................................................42
Modifying Your Project to Use the Index File...................................................................................43
Exercise 6: Creating an Index..........................................................................................................43
Adding Graphics to the Project 
45 
What Graphic Formats Can Be Included?.......................................................................................45
Inserting Graphics............................................................................................................................46
Exercise 7: Inserting Graphics.........................................................................................................46
Adding the HTML Help Control 
49 
Designing HTML Help Control Links and Results............................................................................49
Designing the Links...................................................................................................................50
Designing the Results................................................................................................................50
Designing "No-Hit" Links 
51 
Creating a Related Topics Button....................................................................................................51
Creating a Keyword Search Button..................................................................................................55
Exercise 8: Creating HTML Help Controls.......................................................................................56
Distributing Your Help File 
57 
Preparing for Distribution.................................................................................................................57
ii 
Contents 
control Library platform:VB.NET PowerPoint: Add Image to PowerPoint Document Slide/Page
of "AddPage", "InsertPage" and "DeletePage" to add, insert or delete any certain PowerPoint slide without & profession imaging controls, PDF document, tiff
www.rasteredge.com
control Library platform:C# PDF Text Extract Library: extract text content from PDF file in
text content from source PDF document file for word processing, presentation and desktop How to C#: Extract Text Content from PDF File. Add necessary references
www.rasteredge.com
What Is HTML Help? 
Page 1 
C
HA P T E R  
What Is HTML Help? 
•  HTML Help is the current Windows Help standard, combining the functionality of WinHelp with the 
flexibility of Hypertext Markup Language (HTML) and the power of ActiveX controls and scripts. 
• 
WinHelp refers to Help files developed with Rich Text Format (RTF) files and the Microsoft 
Windows Help Compiler (HCW). Since 1995, Help developers could choose between WinHelp 3 
for Windows 3.x systems and WinHelp 4 for Windows 95/98/NT. 
• 
HTML is a browser-independent tagging language used to display information on the World Wide 
Web. It enables you to display text and graphics and use hyperlinks to navigate to other HTML 
documents. 
•  HTML doesn't include WinHelp functionality, such as pop-ups, Tables of Contents, Indexes, full text 
search, and Related Topics. 
•  HTML Help has a slightly different look than WinHelp. Instead of one screen for the navigation tabs 
(Table of Contents, Index, and Full-text Search) and another screen for the content, HTML Help 
combines both into one screen, along with a third component, the toolbar. This gives the main window 
its name (tri-pane). 
• 
This interface enables users to see where they are within the navigational structure. 
control Library platform:C# Create PDF from OpenOffice to convert odt, odp files to PDF in
In order to run the sample codes, the following steps would be necessary. Add necessary references: RasterEdge.XDoc.PDF.dll. RasterEdge.XDoc.PowerPoint.dll.
www.rasteredge.com
control Library platform:VB.NET Create PDF from OpenOffice to convert odt, odp files to PDF
In order to run the sample codes, the following steps would be necessary. Add necessary references: RasterEdge.XDoc.PDF.dll. RasterEdge.XDoc.PowerPoint.dll.
www.rasteredge.com
What Are the Advantages of HTML Help? 
•  Help files created with HTML Help are much smaller than their counterparts created in WinHelp and 
there are virtually no limits (file sizes, number of files, and so on). 
•  You have full control over both tables and text. Unlike WinHelp, which doesn't allow for any kind of 
table formatting and little text formatting, HTML allows both. 
•  You don't lose much WinHelp functionality. You can still provide popups (albeit text-only, with no 
formatting), Tables of Contents, Indexes, full-text search, and Related Topics. Some third-party Help 
Authoring Tools provide for fully-formatted text popups. 
•  Improvements made to HTML can be immediately implemented in HTML Help. For example, HTML 
was at version 2 when HTML Help was announced. Now, HTML is at version 4, enabling us to take 
advantage of Cascading Style Sheets, JavaScript, and so on. 
•  Using scripts, HTML Help Objects, and ActiveX components, developers can deliver as much or as 
little functionality as they choose. 
•  HTML Help offers better navigational aids. When developing an HTML Help file, you can specify 
that the Table of Contents should synchronize with the content displayed on the right when the 
Contents tab is displayed on the left. This means that users can always track their progress within the 
topics of the HTML Help file. You can add full-text search (basic and advanced) and a Favorites tab 
that enables users to bookmark frequently used topics. 
• 
When an HTML Help file is synchronized, users can display information using any means (the 
Index, through Full-text Search, or the Favorites tab), and then select the Table of Contents to see 
where the topic falls within the hierarchy. However, the topic must exist in the Table of Contents 
for synchronization to work. 
•  You can provide context-sensitive Help for applications. Your developers need to use a form of the 
HTML Help API, which can be found in the HTML Help Workshop Help file. 
•  The implementation of context-sensitive Help changes for different development environments. API 
calls can be encapsulated in a DLL, such as David Liske's HTML Help Object Library DLL. If this is 
used with any COM-enabled programming environment (such as Microsoft Visual C++, Borland 
Delphi, Sybase PowerBuilder, etc.), your developer doesn't need to worry about the API and can use 
the properties and methods of the DLL instead. If your developer is using Microsoft Visual Basic 5 or 
6, Liske's HTML Help Class Module provides the same interface as the HTML Help Object Library 
DLL, but with better performance. 
Are There Any "Gotchas"? 
•  One major requirement for HTML Help is that Internet Explorer (version 4 or later) MUST be 
installed on the user's system. It must also be installed on your system. HTML Help files use runtime 
components from IE to display their content. However, neither you nor your users actually have to use 
IE when surfing the Web. 
•  Also, HTML Help doesn't use any of the 88+ WinHelp macros. If you've developed WinHelp files, 
you might have used these macros for increased functionality. Although some macros have 
corresponding ActiveX controls (for example, Related Topics), most do not. You might have to write 
your own scripts, or have a developer write a DLL or ActiveX control, if there's something special you 
want to provide for your users. 
Page 2 
What Is HTML Help? 
Comparing HTML Help to WinHelp 
Similarities 
•  Compiled results (.hlp for WinHelp and .chm for HTML Help) 
•  Multiple windows (main, secondary, and popups) 
•  Table of Contents and Index 
•  Full-text search 
•  Static graphics (although each type uses different formats) 
•  Hotspot graphics and multimedia 
•  Hyperlinks 
•  Formatting topics (font families, colors, and sizes) 
•  Context-sensitive Help 
•  Browse sequences (although HTML Help requires more work) 
•  Related Topics, Keyword Links, and A-Keyword Links 
Differences 
•  Fully functional tables in HTML Help 
•  Fully functional fonts (superscript, subscript, and so on) in HTML Help 
•  Non-scrolling regions in WinHelp (can be scripted in HTML Help) 
•  Macros in WinHelp 
•  Scripting in HTML Help 
•  Formatted popups in WinHelp, vs. text-only popups in HTML Help 
What Is HTML Help? 
Page 3 
Comparing HTML Help to HTML-Based Help 
Similarities 
•  Cascading Style Sheets 
•  Expanding/collapsing Table of Contents 
•  Multi-level Index 
•  Hyperlinks to URLs, email addresses, newsgroups, or FTP sites 
•  Popups 
•  Related Topics lists 
•  Scripts (JavaScript for both; VBScript for Internet Explorer only) 
•  Images and Image Maps 
•  Multimedia 
•  Forms 
•  Context-sensitive Help 
Differences 
Option 
HTML Help 
HTML-based Help 
Operating systems 
Windows 32-bit only (95/98/NT)  Any 
Compilation 
Compiled 
Not compiled 
Browsers 
None (but IE4 or above must be 
installed) 
All 
Deploying files 
Deploy one file 
Deploy all files 
Internet access 
Runs locally 
Runs over the Internet 
Full-text search 
Yes 
Depends on tool 
Default display format 
Yes 
Browser-dependent 
Auto-synchronization in the Table 
of Contents 
Yes 
Depends on tool 
Cross-file linking 
Yes 
Yes 
Merging 
Yes 
Depends on tool 
Page 4 
What Is HTML Help? 
Understanding HTML Help Workshop (HHW) 
Page 5 
C
HA P T E R  
Understanding HTML Help 
Workshop (HHW) 
•  Microsoft provides HTML Help Workshop (HHW) free from their Web site. 
• 
If you want to download the latest version of HTML Help workshop, go to 
http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/htmlhelp/html/hwMicrosoftHTMLHelpDownloads.asp. 
•  However, HHW includes only a text-based HTML editor, requiring you to know HTML when making 
changes. 
• 
You can use any HTML Editor to create your HTML files. 
• 
These HTML files, commonly called “topics,” display Help information. 
•  HHW includes full HTML Help functionality, including Table of Contents and Index designers, 
HTML Help objects through hhctrl.ocx, context-sensitivity, and an HTML Help Image Editor. 
•  There are numerous HTML Help authoring tools on the market that make development much easier. 
See the HAT Comparison Matrix (http://www.helpstuff.com/downloads/toolsv5.pdf) (PDF, Version 
5). You can enhance your Help file with KeyTools, provided by KeyWorks (http://www.keyworks.net) 
and WorkWrite (http://www.workwrite.com). 
Using the Interface 
HHW includes menus and toolbars. The available options that display depend on whether an HTML file is 
open in the editor. It also includes three tabs in the left pane. 
Menu Options 
•  HHW (when an HTML file isn't open) includes the following menu options: 
•  File
New, Open, Close Project, Close All, Save Project, Compile, Decompile, CHM Information, 
Preferences 
•  View
Toolbar, Status Bar, Compiled Help File, HTML Help Messages 
•  Test
Pop-up Attributes, Keyword Lookup, HtmlHelp API 
•  Tools
HTML Help Image Editor 
•  Help
Help Topics, HTML Tag Reference, Version 
•  When an HTML file is open, the following menu options are added: 
•  File
Close File, Save All Files, Save File, Save File As 
•  View
Set Font, In Browser 
•  Window
Cascade, Tile Horizontally, Tile Vertically, Arrange Minimized Windows 
•  Edit
Undo, Cut, Copy, Paste, Select All, Compiler Information, Split File, Find, Find Next, Replace 
•  Tags
Insert Text Block, Edit Text Block, Character Formatting, HTML Help Control, Heading, 
Comment, Title 
Tabs 
•  Once you open a project, three tabs display on the left side of HHW. These tabs contain the Project, 
Contents, and Index information. 
Toolbars 
•  The main toolbar appears when you first open HHW and remains when you open projects or HTML 
files. 
•  New
Displays the New dialog box, where you can select to create projects, HTML and text files, table 
of contents, and index. 
•  Open
Displays the Open dialog box, where you open a project or HTML files. Type an extension in the 
File name input box to open a specific file (such as .hhk for Index or .hhc for Contents). 
•  Compile HTML File
Compiles your project. 
•  View Compiled File
Displays the results. 
•  Display Online Information
Displays the appropriate HTML Help topic in an embedded Help window within HHW. 
Page 6 
Understanding HTML Help Workshop (HHW) 
Documents you may be interested
Documents you may be interested