The Help 2.0 Custom Viewer is a pseudo-MSDN-type viewer written in VB5. It was developed from three of the VB6 samples from the original MS Help 2.0 SDK supplied to the Help MVP's by Microsoft. You should be able to open any registered MS Help 2.0 namespace with it, including MS.MSDNQTR.2005JAN as shown below:
Unlike in previous versions of this viewer, filters are working correctly and can be edited as illustrated above. Also, the Print Node menu items used with the Contents tab no longer print the first topic if Cancel is selected in the Print dialog. Finally, some XP visual styles are in-place thanks to a manifest file from Rob Chandler.
Source code for this viewer will not be made available. For further information, see the Help News page.
The Filter Tool and Filter Edit dialogs were modified from a VB6 SDK sample provided by Microsoft in MS Help 2.0 beta 2 Build 9254, August 2001. The sample's concept was as an overall filter editing tool for all MS Help 2.0 collections on the system. When this was integrated into this viewer, it was found two namespaces couldn't be opened simultaneously within the same app. The modifications involved changing these dialogs to use the same instance of a namespace opened into the viewer and not provide simultaneous access to the other MS Help 2.0 namespaces on the system.
"Mucho gracias" to fellow HTML Help MVP'r, friend and confidante Rob Chandler, for his almost daily suggestions and support. Thanks also to the other 9 HTML Help MVPs for gladly acting as guinea pigs during the development process. And finally, many thanks to Shane McRoberts and the rest of the Microsoft Help dev team for supplying the samples to get this thing going.
The Favorites tab functionality was derived from Oleg Gdalevich's WebChecker Sample Application. The purpose of the sample application is to inform the user about updates of Web-pages included (by the user) in Favorites. Browse to Oleg's site and check it out.
The Notes tab and Options Dialog XML-based INI file functionality is based on an article and code found in the December 2000 Visual Basic Programmer's Journal for using XML in place of INI files. It presents a nice set of methods for using the XML parser within msxml.dll, and is worth a read.
The code for the GetCommandLine and ProcessCmdLine procedures in Main.frm were modified from code found in the topic "Command Function Example" in the Visual Basic for Applications Reference in the April 2000 MSDN. Excellent modifications to that code, making it more applicable to this viewer, were found on AikoDude's site.
The Office XP-style menus and system menu additions were accomplished via Ackbar's version of VBAccelerator's cPopMenu control. This control, its source code, and a detailed sample project, are available at Planet Source Code.
MS Help 2 >