Popups durch eine externe WinHelp Datei

Um Popups in HTML Help durch eine WinHelp Datei zu realisieren muss wie folgt vorgegangen werden:

Zuerst wird eine WinHelp Datei erstellt, die die entsprechenden Popup Topics enthält. Hierbei kann nur mit der #Fußnote gearbeitet werden. Andere Fußnoten sind nicht notwendig.

Anschließend wird im [MAP] Abschnitt der WinHelp Projektdatei den einzelnen Topics der HLP Datei eine Map Nummer zugewiesen. z.B.:

#define IDH_popup1 10
#define IDH_popup2 20
#define IDH_popup3 30

Dies muss nicht unbedingt sein, da man auch mit den Themenkennungen arbeiten kann. Es ist aber eleganter und gerade im Hinblick auf die Implementierung in Software sowieso erforderlich.

Danach gibt es zwei Möglichkeiten des weiteren Vorgehens:

Die HTML Datei wird direkt im HTML Help Workshop geöffnet und die Popups werden durch den Wizard  für HTML Help ActiveX Control Commands generiert oder die entsprechenden Quellcodes werden direkt in die HTML Datei eingegeben. Im folgenden werde ich die Vorgehensweise mit dem Wizard erläutern, zum Schluss jedoch auch noch auf einige Parameter des Quellcodes eingehen.

Folgendes Icon im HTML Help Workshop startet den Wizard: HTML Help ActiveX Control Command

Zuerst aber die Einfügemarke in der .htm Datei an der Stelle im <body> Bereich platzieren, an der der Popup Link sichtbar sein soll. Dann den Wizard starten.

In der nächsten Eingabemaske wird unter "Specify the command" der Eintrag "WinHelp topic" ausgewählt. 

Screenshot anzeigenScreenshot anzeigen

Dann "Weiter" und in der folgenden Maske "As a button" aktivieren. 

Screenshot anzeigenScreenshot anzeigen

"Weiter". Nun auswählen ob der Button Text, ein Bitmap oder ein Icon beinhalten soll und dann den entsprechenden Buttontext eingeben. 

Screenshot anzeigenScreenshot anzeigen

"Weiter". 

In der nun folgenden Eingabemaske auswählen ob der Popup in einem gesonderten Fenster (Fenster muss dann in der WinHelp Projektdatei definiert sein) oder als normaler Popup angezeigt werden soll. Soll die Darstellung in einem gesonderten Fenster erfolgen, muss der entsprechende Name des Fensters angegeben werden. Nun unter "Specify the name of the Help File" den Namen der WinHelp Datei eintragen, z.B. popup.hlp. Unter "Specify the topic ID or map number" entweder die Themenkennung oder die Map Nummer des Themas eintragen, das den Popup Text enthält. Über den Button Test kann sofort getestet werden, ob alle Eingaben korrekt vorgenommen wurden. 

Screenshot anzeigenScreenshot anzeigen

Nun "Weiter" und "Fertigstellen".

Diese Beispiele sind nur möglich in einer kompilierten Hilfedatei

1. (Popup durch Text Link)

2. (Popup durch Button)

3. (Popup in einem Fenster durch Icon)

Quellcode:

<OBJECT id=hhctrl type="application/x-oleobject"
classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"
codebase="hhctrl.ocx#Version=4,74,8875,0" width="77" height="21"
>
<PARAM name="Command" value="WinHelp, Popup">
<PARAM name="Button" value="Text:Text des Buttons">
<PARAM name="Item1" value="Name der Winhelp Datei.hlp">
<PARAM name="Item2" value="20">
</OBJECT>

Dieser Quellcode realisiert einen Popup, der durch einen Button aktiviert werden kann.

Soll kein Button sondern Text für den Popup Link verwendet werden, so kann unter <PARAM name="Button" value="Text:Text des Buttons"> der Eintrag "Button" durch "Text" ersetzt werden. Der unter "Text: ...." angegeben Eintrag erscheint dann als Text.

Soll ein Icon oder ein Bitmap als Button dienen, so muss unter <PARAM name="Button" value="Text:Text des Buttons"> der Eintrag "Text:......." entweder durch "Icon:c:\pfad\name.ico" oder "Bitmap:c:\pfad\name.bmp" ersetzt werden.

Soll, so wie unter Beispiel 3., der Popup in einem gesonderten Fenster erfolgen, so ist unter <PARAM name="Item1" value="NameWinHelpDatei.hlp"> hinter dem Namen der WinHelp Datei noch der Name des Fensters erfolgen: <PARAM name="Item1" value="NameWinHelpDatei.hlp>NameFenster">

Ihr könnt euch natürlich auch die einzelnen Beispiele im Quellcode dieser HTM Datei ansehen.

Hier zum Schluss noch mal ein Beispiel, in dem ein normales WinHelp Fenster geöffnet wird. Der Fenstertyp muss, wie bereits oben erwähnt, in der WinHelp Projektdatei definiert sein.