Anzeigen von kontextbezogenen Hilfe
Kontextbezogene Hilfe, für diese Diskussion, verweist Hilfeunterstützung für die Steuerelemente in einem Dialogfeld an, das Benutzern:
Durch das Drücken der F1-TASTE.
Durch das Klicken mit der rechten Maustaste auf ein Steuerelement (wie dieses ist?Hilfe).
Durch die Verwendung des Fragezeichenzeigers (, wie dieses ist?Hilfezeiger).
Für jedes Steuerelement, dass Sie kontextbezogene Hilfe unterstützen möchten, legen Sie die - Eigenschaft auf HelpIDTrue fest.
Fügen Sie ggf. htmlhelp.lib der Eigenschaft Zusätzliche Abhängigkeiten hinzu, die in der Eingabe-Eigenschaftenseite des Linker Ordners in Dialogfeld Eigenschaftenseiten des Projekts ist.
Die Quellinformationen für kontextbezogene Hilfe .txt- werden in einer Datei gespeichert, die Sie im HTML-Hilfe-Projekt einschließen.
So fügen Sie die Textdatei der kontextbezogenen Hilfe erstellen
Verwenden Sie einen Text-Editor, um eine .txt- - Datei zu erstellen.
Formatieren Sie die Themen, wie folgt:
.topic 1
help text for control 1
.topic 2
help text for control 2
Hinweis |
---|
Weitere Informationen finden Sie unter "Entwerfen von kontextbezogenen Hilfe" in der Onlinehilfe der HTML Help.Klicken Sie im Menü Hilfe (in HTML Help Workshop), wählen Sie Hilfethemen aus. |
Nachdem Sie die Datei .txt- erstellen, fügen Sie diese dem [Datei] Abschnitt der HHP-Datei hinzu.
Um Hilfe für Ressourcen in einem Dialogfeld zu unterstützen, müssen Sie ein zweidimensionales Array erstellen das Steuer-IDs zuordnet um IDs (Themaenzahlen) zu unterstützen.
Um das zweidimensionale Array erstellen
In der CPP-Datei für jede Klasse, die ein Dialogfeld darstellt, fügen Sie ein zweidimensionales Array dem Ende der Klasse hinzu.Beispiel:
static DWORD myarray[] = { IDC_CHECK1, 1, IDC_BUTTON1, 2, IDC_EDIT1, (DWORD)-1, 0,0 };
Jeder Eintrag im zweidimensionalen Array ordnet eine Ressourcen-ID für ein Dialogfeld-Steuerelement mit einer Themaenzahl der Textdatei der kontextbezogenen Hilfe zu.Wenn Sie eine bestimmte Ressource nicht zuweisen möchten, wie dieses ist?Hilfe, dem - 1.Die letzten Elementepaar in diesem Array sollte 0,0 sein.
F1-Zugriff zur kontextbezogenen Hilfe bedeutet, dass Benutzer in der Lage sind, F1 zu drücken, wenn ein Steuerelement den Fokus besitzt, um auf die Hilfe zuzugreifen.
So F1-Zugriff zur kontextbezogenen Hilfe aktivieren
Implementieren Sie einen Handler für die WM_HELPINFO Meldung (in jeder Dialogklasse, in der Sie F1-Zugriff zur kontextbezogenen Hilfe soll) und implementieren Sie den folgenden Code für den Handler:
BOOL CMyDlg::OnHelpInfo(HELPINFO* pHelpInfo) { BOOL bRet = TRUE; if (pHelpInfo->iContextType == HELPINFO_WINDOW) { HWND hwnd = ::HtmlHelp( (HWND)pHelpInfo->hItemHandle, _T("my_chm.chm::/ctrlhlp.txt"), HH_TP_HELP_WM_HELP, (DWORD)(LPVOID)myarray); bRet = (NULL != hwnd); } return bRet; }
Was ist dieses?Hilfe zeigt die Hilfe des Steuerelements auf, wenn ein Benutzer mit der rechten Maustaste auf das Steuerelement klickt.
So implementieren Sie, wie dieses ist?Hilfe
Implementieren Sie einen Handler (siehe Zuordnungs-Meldungen auf Funktionen), für die WM_CONTEXTMENU Meldung in jeder Dialogklasse, in der Sie möchten, was diese ist?Hilfe (wählen Sie die ID für das Dialogfeld aus der Liste der Objekten-ID aus).Implementieren Sie folgenden Code für den Handler:
void CMyDlg::OnContextMenu(CWnd* pWnd, CPoint point) { UNREFERENCED_PARAMETER(point); ::HtmlHelp( pWnd->GetSafeHwnd(), _T("my_chm.chm::/ctrlhlp.txt"), HH_TP_HELP_CONTEXTMENU, (DWORD)(LPVOID)myarray); }
Wenn Sie die CHM-Datei angeben, ist der erwarteten Speicherort das Arbeitsverzeichnis des Projekts.Siehe die Debuggen Registerkarte des Dialogfelds Eigenschaftenseiten für den Speicherort des Arbeitsverzeichnisses (standardmäßig, das Projektverzeichnis).Wenn Sie die Textdatei im .chm angeben, das die kontextbezogene Hilfe enthält, müssen Sie die gleichen Standortinformationen angeben, wie für die Datei .txt- in der .chm's-HHP-Datei angegeben wird.
Wenn Sie bereits F1-Zugriff zur kontextbezogenen Hilfe implementieren, können Sie problemlos aktivieren, wie dieses ist?Zeiger, der ein Fragezeichen bewirkt, dass auf der Titelleiste angezeigt zu werden, in der rechten oberen Ecke des Dialogfelds.
So aktivieren, wie dieses ist?Hilfefragezeichenzeiger
- Wählen Sie das Kontexthilfe Kontrollkästchen in der Erweiterte Stile Registerkarte der die Eigenschaften der Dialogfelder entsprechend aus.