3 Replies Latest reply on Jun 13, 2008 4:45 AM by Pete Lees

    Context-sensitive popups in HTML Help

      Can anyone tell me if there's a way to call the popup window in the HTML Help API without having to use a text file (.topic...) to store all the context-sensitive popup help?

      We are trying to convert our Winhelp help file to CHM, and moving from RoboHelp X5 to RoboHelp 7. Currently the context-sensitive help (what's this help) is called using the Winhelp macro (PopupID) and A keywords. We don't use a map file and don't want to in the CHM, as there are thousands of fields - far too many to implement using a map file and .topic ids in a text file.

      In our test CHM, we have managed to display context-sensitive help by using HH_DISPLAY_TEXT_POPUP and referencing the A keywords in the help topics. We can get the context-sensitive help to work, but can't find a way to display it in a popup window or customise the help window so that there are no borders. We tried defining a custom window and setting the default for the topic to display in a popup in RoboHelp, but the window still displays with a border in a mini help window. We'd like this to look like the Winhelp popups. Any ideas on how to achieve this without resorting to the map file/text file method?

      We are at the point of giving up. Failing that we'd have to resort to using dropdown text for fields and doing away with context-sensitive field help altogether, which would seem like a backward step from a user perspective.

      Any help appreciated.
        • 1. Re: Context-sensitive popups in HTML Help
          Pete Lees Level 2
          Hi, Jane, and welcome,

          I think your options are limited if you're using the HTML Help API. As I understand it, HH_DISPLAY_TEXT_POPUP can fetch the content of help pop-ups from either a plain-text file compiled into the .chm file or from the application code. Perhaps storing the help strings in the code itself may be a solution of sorts.

          The following page provides the most detailed information I have seen anywhere on implementing What's This? help with HTML Help:


          Your description of successfully invoking help in a secondary HTML Help window by passing ALink keywords suggests that you may have been using a different API command than HH_DISPLAY_TEXT_POPUP — maybe HH_ALINK_LOOKUP. Only HH_DISPLAY_TEXT_POPUP and HH_TP_HELP_CONTEXTMENU display help content in a borderless pop-up window.

          You may want to look at KeyHelp, mentioned at some length in the Helpware page above. KeyHelp provides the means to call feature-rich, borderless HTML pop-ups from an application.


          One other option would be to do away with What's This? help and instead provide dialog-level help, with descriptions of all the fields in a particular dialog box in a single help topic. This would be easier to implement, easier for the user to browse (at least, arguably), and in step with what many software vendors are doing nowadays. For instance, I think Microsoft has abandoned What's This? help in favour of dialog-level help in most of its recent products.

          • 2. Re: Context-sensitive popups in HTML Help
            Jane501 Level 1
            Hi Pete,
            Thanks so much for that. KeyHelp certainly does look like it provides the functionality we are looking for. Whether our developers will be able to ship the ActiveX control with our code is the only potential showstopper that I can see, but it is definitely worth a shot. We will try it out before going down the route of dropping popup help altogether (the application has hundreds of multi-tabbed dialogs), although as you say, it seems Microsoft have already done this for their Office products.

            I wonder if anyone else has implemented KeyHelp successfully? My only concern is future compatibility as I wouldn't want to have to find another solution later on after creating a lot of work for development and myself.

            Anyhow, many thanks for the leads!
            Much appreciated,

            • 3. Re: Context-sensitive popups in HTML Help
              Pete Lees Level 2
              Hi, Jane,

              I forwarded your questions to the Microsoft Help MVPs and received the following responses:


              From Dana Worley:

              Never tried [KeyHelp], but I opted to just create a separate HTMLHelp window that sort of looks like a context sensitive popup (very little on the navigation bar -- Back, Forward, Print and that's it).

              It was a lot easier and doesn't rely on special tools or an activeX control that might cause problems down the road (developer just has to call the right window).

              From Rob Chandler:

              ... And the code for the KeyHelp Rich popups is very simple (well at least for programmer). If this guy wants to, he is free to contact me and I will help him with script and changing over to KeyHelp popups.
              I don't personally know of anyone who is using KeyHelp for field-level help, but it does come from unimpeachable sources: Ralph Walden, formerly Microsoft's lead developer of both WinHelp and HTML Help, and Cheryl Lockett Zubak, a charter member of the Microsoft Help MVP programme.

              Hope that helps,