Zum Inhalt

Kontext-sensitive Hilfe für Anwendungen

Die kontextabhängige Hilfe unterstützt die Benutzer, indem sie Hilfe zu einem bestimmten Dialogfeld oder Steuerelement in einem Programm bietet. Auf diese Weise können Benutzer spezifische Informationen über den Teil des Programms erhalten, den sie gerade verwenden.

Hilfeautoren arbeiten meist mit Entwicklern zusammen, um kontextabhängige Hilfe zu erstellen. Der Hilfeautor erstellt eine kompilierte Hilfedatei (.chm), die die kontextsensitiven Hilfethemen und Informationen enthält und die Themen bestimmten Dialogfeldern oder Steuerelementen zuordnen. Der Entwickler ändert den Programmcode so, dass das richtige Thema erscheint, wenn ein Benutzer Hilfe anfordert.

Die kontextabhängige Hilfe erscheint in der Regel in einem Popup-Fenster, das ein Hilfethema zu einem bestimmten Element der Benutzeroberfläche anzeigt. Sie können Ihr Programm zum Beispiel so gestalten, dass in der Titelleiste eines Dialogfelds eine Fragezeichen-Schaltfläche erscheint. Wenn ein Benutzer auf die Schaltfläche mit dem Fragezeichen und dann auf eine beliebige Stelle im Dialogfeld klickt, wird ein Popup-Hilfethema angezeigt, das Informationen über das Element der Benutzeroberfläche enthält, auf das der Benutzer geklickt hat.

Quellcode für die HTMLHelp Projektdatei

Öffnen Sie Ihre .hhp HTMLHelp Projekt Datei in einem Text-Editor, ergänzen Sie die Abschnitte ALIAS und MAP und fügen Sie die Dateien dem Projekt hinzu:

[OPTIONS]
Auto Index=Yes
...

[WINDOWS]
main="Online Help","CHM-example.hhc",...
wndTopic="New Topic Window","CHM-example.hhc", ...

[FILES]
design.css
index.htm
Context-sensitive_example\contextID-10000.htm
Context-sensitive_example\contextID-10010.htm
Context-sensitive_example\contextID-20000.htm
Context-sensitive_example\contextID-20010.htm
Garden\flowers.htm
Garden\garden.htm
Garden\tree.htm
HTMLHelp_Examples\CloseWindowAutomatically.htm
HTMLHelp_Examples\Jump_to_anchor.htm
HTMLHelp_Examples\shortcut_link.htm
HTMLHelp_Examples\Simple_link_example.htm
images\blume.jpg
...


[ALIAS]
#include alias.h

[MAP]
#include map.h
#include topic.h

[TEXT POPUPS]
topic.h
topic.txt

[INFOTYPES]

ALIAS und MAP Dateien

Der Zweck der beiden Dateien ist, die Koordination zwischen Entwickler und Hilfeautor zu erleichtern. Die "map" Datei verbindet eine ID mit der "map"-Zahl - gewöhnlich kann dieses durch den Entwickler leicht erstellt werden und dem Hilfeautor bereitgestellt werden. Dann stellt der Hilfeautor eine ALIAS Datei her, welche die ID mit den Themennamen verbindet.

ALIAS Datei

Geben Sie die ALIAS Einzelangaben wieIDH_90000=index.htm mit einem Text-Editor ein. Sichern Sie die Datei als 'alias.h' im gleichen Verzeichnis wie ihr Hilfeprojekt.

;----------------------------------------
; alias.h file example for HTMLHelp (CHM)
; www.help-info.de
;
; All IDH's > 10000 formatted for better reading
; last edited: 2006-07-09
;----------------------------------------
IDH_90000=index.htm
IDH_10000=Context-sensitive_example\contextID-10000.htm
IDH_10010=Context-sensitive_example\contextID-10010.htm
IDH_20000=Context-sensitive_example\contextID-20000.htm
IDH_20010=Context-sensitive_example\contextID-20010.htm

Mehrere Zuordnungsnummern für ein Thema:

In der HTMLHelp ALIAS-Datei können Sie einem Thema mehrere Map-IDs zuweisen, z.B.:

IDH50000_0=myfile_1.htm
IDH50000_1=myfile_1.htm
IDH50000_2=myfile_1.htm

Anker in der Mitte des Themas:

Wenn Sie aus Ihrem Programm Anker in die Mitte eines Themas springen möchten, müssen Sie z.B. die folgende Zeile zur Datei alias.h hinzufügen:

IDH_30000=HTMLHelp_Examples\jump_to_anchor.htm#AnchorSample

Aber Sie werden z.B. folgende Fehlermeldung angezeigt bekommen:

HHC3015: Warning: An alias has been created to "HTMLHelp_Examples\jump_to_anchor.htm#AnchorSample" but the file does not exist.

Die KeyTools HTMLHelp Error Message Reference (CHM in ZIP) sagt dazu, dass man diese Fehlermeldung getrost ignorieren kann - der Link sollte funktionieren. Wenn es Sie nervt, können Sie die Nachricht jedoch unterdrücken indem Sie den Alias ändern z. B.:

IDH_30000=CHM-example.chm::/HTMLHelp_Examples\jump_to_anchor.htm#AnchorSample

Aber beachten Sie - dies bedeutet ein Umbenennen der CHM bricht die Alias-Angabe!

MAP Datei

Geben Sie die MAP Einzelangaben wie #define IDH_90000 90000;frmMain mit einem Text-Editor ein. Sichern Sie die Datei als 'map.h' im gleichen Verzeichnis wie ihr Hilfeprojekt.

;--------------------------------------
; map.h file example for HTMLHelp (CHM)
; www.help-info.de
;
; All IDH's > 10000 formatted for better reading
; ;comment at end of line
;--------------------------------------
#define IDH_90000 90000;frmMain
#define IDH_10000 10000;frmAddressDataContextID-1
#define IDH_10010 10010;frmAddressDataContextID-2
#define IDH_20000 20000;frmAddressDataContextID-3
#define IDH_20010 20010;frmAddressDataContextID-4

Mehrere Zuordnungsnummern für ein Thema

In HTMLHelp können Sie einem Thema mehrere Map-IDs zuweisen. Beachten Sie dazu die Zuordnung in der ALIAS-Datei.

#define IDH50000_0 50000;comment-0
#define IDH50000_1 50001;comment-1
#define IDH50000_2 50002;comment-2

Anker in der Mitte des Themas

Wenn Sie aus Ihrem Programm Anker in die Mitte eines Themas springen möchten (siehe oben), müssen Sie z.B. die folgende Zeile zur Datei alias.h hinzufügen:

#define IDH_30000 30000;frmAddressDataContextID-5

Kompilieren Sie Ihre Datei .HHP neu. Jetzt kann Ihre Anwendung Hilfe mit Hilfe der Kontext ID's statt über die Dateinamen der Themen aufrufen.

Topic-ID und Topic-Text für "What's this?" Hilfe

topic.h

;-------------------------------------------------------------
; topic.h file example for HTMLHelp (CHM)
; www.help-info.de
;
; All IDH's < 10000 to avoid same ID in map.h
; This is a mapping of "What's this?" or F1 PopUp help for VB6
; ;comment at end of line
;-------------------------------------------------------------
#define IDH_900 900;nohelp
#define IDH_100 100;PopUp_AddressData_btnOK
#define IDH_110 110;PopUp_AddressData_txtFirstName
#define IDH_120 120;PopUp_AddressData_txtLastName

topic.txt

;-------------------------------------------------
; topic.txt file example for HTMLHelp (CHM)
; www.help-info.de
;
;
; This is a file including the ID and PopUp text
;-------------------------------------------------
.topic IDH_900
Sorry, no help available!

.topic IDH_100
This is context sensitive help text for a button (ID: IDH_100).

.topic IDH_110
This is context sensitive help text for a text box (ID: IDH_110).

.topic IDH_120
This is context sensitive help text for a text box (ID: IDH_120).