Freigeben über


<PAVE OVER> Bereitstellen kontextbezogener Hilfe

Kontextbezogene Hilfe, für diese Diskussion, verweist Hilfeunterstützung für die Steuerelemente in einem Dialogfeld an, das Benutzern:

  • Durch das Aufheben F1 drücken.

  • Durch das Sie mit der rechten Maustaste auf ein Steuerelement (wie dieses ist? Hilfe).

  • Durch Verwendung des Fragezeichenzeigers (, wie dieses ist? Hilfezeiger).

Für jedes Steuerelement, dass Sie kontextbezogene Hilfe unterstützen möchten, legen Sie die Eigenschaft HelpID auf True fest.

Fügen Sie ggf. htmlhelp.lib der Eigenschaft Zusätzliche Abhängigkeiten hinzu, die in der Eingabe-Eigenschaftenseite Linker des Ordners im Dialogfeld Eigenschaftenseiten des Projekts ist.

Die Quellinformationen für Hilfe kontextbezogene .txt- werden in einer Datei gespeichert, die Sie im HTML-Hilfe-Projekt einschließen.

So die Textdatei der kontextbezogenen Hilfe erstellen

  1. Verwenden Sie einen Text-Editor, um .txt- eine Datei zu erstellen.

  2. 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 "Determining Entwerfen von kontextbezogenen Hilfe" in der Onlinehilfe der Help.Wählen Sie im Menü Hilfe (im HTML Help Workshop), wählen Sie Hilfethemen aus.

Nachdem Sie die Datei .txt- erstellen, fügen Sie sie dem [Datei] Abschnitt in der HHP-Datei hinzu.

Um Hilfe für Ressourcen in einem Dialogfeld zu unterstützen, müssen Sie ein zweidimensionales Array erstellen das Steuerelement-IDs zuordnet von IDs (Themaenzahlen) zu unterstützen.

So der zweidimensionale Array erstellen

  • in der CPP-Datei für jede Klasse, die ein Dialogfeld darstellt, fügen Sie einem zweidimensionalen 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 Array zweidimensionalen ordnet eine Ressourcen-ID für ein Dialogfeld-Steuerelement mit einer Themaenzahl der Textdatei der kontextbezogenen Hilfe zu. Wenn eine bestimmte Ressource nicht zuweisen möchten, wie dieses ist? Hilfe, mit - 1. Die letzten von Paaren in diesem Array sollte 0,0 sein.

F1-Zugriff der kontextbezogenen Hilfe bedeutet, dass Benutzer Steuerelemente sind, drücken F1, wenn ein Steuerelement den Fokus besitzt, um auf von Hilfe zugreifen.

So F1-Zugriff der kontextbezogenen Hilfe aktivieren

  • Implementieren Sie einen Handler für die WM_HELPINFO Meldung (jeder in Dialogklasse, in der Sie F1-Zugriff der 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 Hilfsmethode des Steuerelements an, wenn ein Benutzer mit der rechten Maustaste auf das Steuerelement klickt.

So implementieren, mit wie dieses ist?Hilfe

  • Implementieren Sie einen Handler (siehe Zuordnungs-Meldungen auf Funktionen), für die WM_CONTEXTMENU Meldung in jeder Dialogklasse, in der gewünschten, was diese ist? Hilfe (wählen Sie die ID für das Dialogfeld in der Liste der Objekt-IDs aus). Implementieren Sie den 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 der CHM-Datei angeben, kann der erwartete Speicherort das Arbeitsverzeichnis des Projekts. Siehe die Registerkarte Debuggen des Dialogfelds Eigenschaftenseiten für den Speicherort des Arbeitsverzeichnisses (standardmäßig, das Projektverzeichnis). Wenn Sie der Textdatei im .chm angeben, das die kontextbezogene Hilfe enthält, müssen Sie den gleichen Standortinformationen angeben, wie für die Datei .txt- in der .chm's-HHP-Datei angegeben wird.

Wenn Sie bereits F1-Zugriff der kontextbezogenen Hilfe implementieren, können Sie aktivieren, wie dieses ist? Zeiger, der ein Fragezeichen wird, auf der Titelleiste angezeigt, in der oberen rechten Ecke des Dialogfelds.

So aktivieren, wie dieses ist?Hilfefragezeichenzeiger

  • Wählen Sie das Kontrollkästchen Kontexthilfe in der Erweiterte Stile Registerkarte der die Eigenschaften der Dialogfelder entsprechend aus.

Siehe auch

Konzepte

HTML-Hilfe: Kontextbezogene Hilfe für Programme