Kontextsensitive Hilfe (What's this)

What's this Hilfen bzw. What's this Popups lassen sich wie folgt erstellen:

Zuerst wird eine Textdatei (z.B. topic.txt) erstellt, die die einzelnen Beschreibungen für die jeweiligen Felder, Buttons usw. enthält. Die Textdatei muss folgendermaßen aufgebaut sein:

.topic IDH_thema1
Dies ist ein Beispiel für eine kontextsensitive Hilfe.

.topic IDH_thema2
Dies ist ein 2. Beispiel für eine kontextsensitive Hilfe.

.topic IDH_thema3
Hier erfolgt eine 3. Beschreibung.

usw.

In einem nächsten Schritt wird nun eine Headerdatei (z.B. topic.h) erstellt, in der den Themenkennungen (IDH_......) aus der Textdatei numerische Ziffern (WhatsThisHelpId) zugeordnet werden.

#define IDH_thema1 1000
#define IDH_thema2 2000
#define IDH_thema3 3000

usw.

Vorsicht! Sollte auch für die Themen der Hilfedatei eine separate Headerdatei mit HelpContextId's erstellt sein, dürfen die Id's der beiden Headerdateien nicht doppelt vergeben werden.

Die Textdatei und die Headerdatei müssen nun in den [TEXT POPUPS] Abschnitt der Projektdatei übernommen werden.
Im Workshop unter "HTMLHelp API information", Register "Text Pop-ups" über "Heade file" die Headerdatei auswählen und über "Text file" die Textdatei auswählen und so beide dem [TEXT POPUPS] Abschnitt der Projektdatei hinzufügen.

Abschließend noch die Headerdatei im Workshop unter "HTMLHelp API information", Register "Map" über "Header file" dem [MAP] Abschnitt der Projektdatei hinzufügen und neu kompilieren.

In VB muss bei den Eigenschaften der Forms "WhatsThisButton" und "WhatsThisHelp" auf "True" gestellt werden.

Für die einzelnen Buttons, Felder o.ä. kann nun die jeweilige "WhatsThisHelpId", die in der Headerdatei vergeben wurde, eingetragen werden.

Außerdem sollte ein Verweis auf die Textdatei beim Laden der Form erfolgen.

In VB z.B:

Private Sub Form_Load()
App.HelpFile = App.Path & "\test.chm::/topic.txt"
End Sub