Tech Write Tips

August 16, 2006

Flare 5: Adding Advanced HTMLHelp Features

Filed under: HTMLHelp,Madcap Flare,Tip,Tool — AndyR @ 12:38 pm

htmlhelpworkshop1.gifIn this post, we return to some more nuts and bolts issues regarding Flare and HTMLHelp.

Flare current provides the majority of HTMLHelp settings, and does this in a much more flexible way that HTMLHelp workshop does. Particularly useful are the WYSIWYG help window size and potitioning.

However, there are some advanced HTMLHelp settings (such as advanced help, or remembering the users last help settings) that are not currently available. Until these make it into the software you can still access these features by employing HTMLHelp workshop (which can be downloaded free from microsoft).

  1. Once you have finalised your help project.
  2. Generate the HTMLHELP output.
    Open the PROJECT\Output\USER\Temporary\Microsoft HTML Help\Content\_Temp.hhp in HTMLHelp Workshop.
  3. Click the Add/Modify Window Definitions button.
  4. Use the Window types dialog to make your advanced settings.
    1. The Navigation tab enables you to specify the Advanced search.
    2. The Positoin tab enables you to specify to save the users window position for help.
  5. Click OK to save the changes.
  6. Generate the help in HTMLHelp Workshop.
  7. You can then access your enhanced HTMLHelp .chm in the PROJECT\Output\USER\Temporary\Microsoft HTML Help\Content folder.

June 28, 2006

HTMLHelp Multiple Page Printing

Filed under: HTMLHelp,Technology — AndyR @ 6:55 am

HTMLPrint.gifIt wasn’t until I was reading of another authors struggle to get multiple topics printing correctly out of HTMLHelp that I realised that I had hit the problem myself. If you haven’t tried it you should try multiple page printing for your HTMLHelp and see if it still has your style applied.

The issue is that when you print multiple topics from a .chm it doesn’t just print each topic in turn. What happens is an intermediate html file is created from the selected topic. 

You can view this file as follows:

  1. Right clicking a book in the TOC of your .chm.
  2. Selecting print all topics. Leave the Print dialog open and browse to “C:\Documents and Settings\USERNAME\Local Settings\Temp”.
  3. Sort this folder by date, and you should see an .htm file thats name starts with “~hh…”.
  4. Open this file in a text editor to view how it has been compiled.
  5. Note the single <Head> section, and updated SRC sttributes for <IMG> tags.
  6. Also note the location of the .css which will reference your .chm absolutely but include the relative path from the topic and therefore not work.

Head Problem
This intermediate file only has one head section. This can cause a few headaches such as the IE header states the first topic on all printed pages. But worse than this is that if you have included any script calls or any automation in your header, or if you have a script that references header information will not work. In my case I was generating the topic title from the page title tag in the header. Therefore when I printed mulitple pages they all had the same header. Doh!

This is something that you may need to work around for your printed output. In my case I ended up including a hidden topic title that was then turned on just for printing via a “@media print {H1.print {display:block}}” in my style sheet.

CSS and JS Location Problem
This intermediate file is generated in a temp folder. To ensure that the images are displayed correctly the print routine automatically adjusts the src elements to reference from its new location. However, if you have referenced a .css or .js it doesn’t update the location.

To get around this you need to implement an absolute location to these files in your topics. You are essentially replacing the relative location (“../../Style.css”) with an absolute location (“ms-its:HELP.chm::Style.css”). These absolute references are dealt with properly in the intermediate file for printing.

March 28, 2006

Best Practice: Screen Portraits

Filed under: Best Practice,HTMLHelp — AndyR @ 12:37 pm

It seems that the post about screen portrait generated quite a bit of interest. So I thought I would provide some more "How to" details.

Stage 1portrait1.gif

  1. Bring the screen shot into your paint package. I use PaintShop Pro
  2. Ensure that the screen is configured in such a way that all the general features are available, so it depicts the required functionality.
  3. Also Ensure that it is good aspect, so the resulting portrait will fit your help topic. This can be adjust at the end but not as easily.

Stage 2portrait2.gif

  1. Provided your paint package supports layers, and most of the do, start adding rectangles to mask over the key parts of the screen.
  2. A feature in PaintShop Pro is to tmake a layer semi-transparent, as you can see, I make my rectangles transparent so I can still see the screen shot behind them. This makes for easier laying out.

Stage 3portrait3.gif

  1. Start to add in the key details of the dialog, ensure that anything that is referenced in the help is included.
  2. What you are looking at doing is replicating the visual signature of the image.
  3. In the same way that we recognise words by their overall shape rather than each letter, the same is true with how we recognise software screens.
  4. For example you could probably recognise a Font selector dialog from across the room.
  5. You can probably make your portraits more styalised than you will first imagine. Practice makes perfect.

Stage 4portrait4.gif

  1. Turn off the original background image in the paint package so you can only see the portrait.
  2. You can add some bells and whistles like rounding the containing area to match the rounding in windows.
  3. There you have it, your finished portrait.
  4. I estimate you can knock these out in about 3-4 minutes once you have a sample layout completed.

Next post about this we will focus in more detail about the colours, positioning and visual clues to make your portraits sing.

February 15, 2006

HTMLHelp Tab Tops

Filed under: HTMLHelp — AndyR @ 1:11 pm

TabTopOld.gifI recently came across this account of why the tabs on HTMLHelp files are sometimes displayed with the old style tab tops.

TabTopNew.gifThe bottom line is as long as the host application has registered a manifest, the help will appear themed. If it doesn’t (like the hh.exe viewer) then it appears with the old tabs tops.
You can fix this by creating a manifest file in the same folder as the .exe with the name [Executable Name].manifest. For example “HH.EXE.manifest”. Then add the following content:
<?xml version=”1.0″ encoding=”UTF-8″ standalone=”yes”?>
<assembly xmlns=”urn:schemas-microsoft-com:asm.v1″ manifestVersion=”1.0″>
<assemblyIdentity name=”MyHH.exe.Manifestfix” processorArchitecture=”x86″ version=”″ type=”win32″/>
        <assemblyIdentity type=”win32″ name=”Microsoft.Windows.Common-Controls” version=”″ processorArchitecture=”x86″ publicKeyToken=”6595b64144ccf1df” language=”*”/>

Create a free website or blog at