顯示即時線上說明

即時線上說明,為以下討論的目的,是指說明支援在使用者存取的對話方塊的控制項:

  • 按下 F1 鍵。

  • 以滑鼠右鍵按一下控制項 (這是什麼?說明)。

  • 您可以使用問題標記指標 (這是什麼?說明指標)。

針對每個控制項要支援即時線上說明,設定 HelpID 屬性對 True

如果需要,將 [其他相依性] 屬性加入 htmlhelp.lib,在 Linker 資料夾 Input 屬性頁在專案的 [屬性頁] 對話方塊中。

即時線上說明的來源資訊您在 HTML 說明專案中的 .txt 檔案中。

建立即時線上說明文字檔

  1. 使用文字編輯器建立 .txt 檔案。

  2. 格式化主題如下:

    .topic 1

    help text for control 1

    .topic 2

    help text for control 2

注意事項注意事項

「設計即時線上說明 HTML 說明的線上說明 (如需詳細資訊,請參閱從 Help 功能表 (在 HTML Help Workshop),請選取 Help Topics

在您建立 .txt 檔案後,請將它加入至 .hhp 檔案的 [檔案] 部分。

若要支援資源的說明在對話方塊中,您必須建立二維陣列對應控制項 ID 的說明 ID (主題數目)。

建立二維陣列

  • 在 .cpp 檔,表示對話方塊的每個類別中,加入二維陣列到類別的結尾。例如:

    static DWORD myarray[] = {
       IDC_CHECK1, 1,
       IDC_BUTTON1, 2,
       IDC_EDIT1, (DWORD)-1,
       0,0
    };
    

在這個二維陣列的每個項目配對對話方塊控制項的資源 ID 與主題編號從即時線上說明文字檔。如果您不想要特定資源有什麼是這?說明,使用– 1。在這個陣列的最後一個對應該是 0,0。

F1 至即時線上說明的存取表示使用者可以按 F1,當控制項具有存取的重點說明時。

啟用 F1 至即時線上說明的存取

  • 實作 WM_HELPINFO 訊息處理常式 (在您想要 F1 至即時線上說明的存取) 的每個對話方塊類別並實作處理常式的下列程式碼:

    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;
    }
    

這是什麼?當使用者以滑鼠右鍵按一下控制項時,說明會顯示控制項的說明。

實作以滑鼠右鍵按一下為何這?說明

  • 實作處理常式 (請參閱 out 此函式之對應訊息) 在您想要的每個對話方塊類別的 WM_CONTEXTMENU 訊息的原因是這個?說明 (為對話方塊中選擇 ID 從物件 ID 清單)。實作處理常式的下列程式碼:

    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);
    }
    

當您指定 .chm 檔時,預期的位置是專案的工作目錄。為工作目錄參閱 Property Pages 對話方塊的 Debug 選項 (根據預設,專案目錄) 的位置。當您在包含這個即時線上說明的 .chm 時指定文字檔案,您必須指定地點資訊和相同的 .txt 檔案中指定的 .chm .hhp 檔案。

如果您已經實作 F1 至即時線上說明的存取,您可以輕鬆地為何這?指標,造成問號出現在標題列中,在對話方塊的右上角。

啟用為何這?說明問題標記指標

  • 選取對話方塊屬性的 Extended Styles 選項的 Context help 核取方塊。

請參閱

概念

HTML 說明: 程式的即時線上說明