首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> 關於VC++

Win32 SDK 建立三欄式 HTML Help 視窗:HTML Help Workshop 與 API 兩種方式

     編輯:關於VC++

方法一:HTML Help Workshop 定義視窗類型

  1. 開啟 Workshop,建立/編輯視窗定義(命名如 mywindow)
  2. 設定三欄式屬性:目錄、索引、內容欄
  3. 編譯產生 .chm
  4. 程式呼叫:
HtmlHelp(m_hWnd, L"sample.chm::\\intro.htm>mywindow",
         HH_DISPLAY_TOPIC, 0);

方法二:API 動態建立 HH_WINTYPE 結構

HH_WINTYPE hw = { sizeof(HH_WINTYPE) };
hw.fsWinProperties = HHWIN_PROP_TRI_PANE | HHWIN_PROP_AUTO_SYNC;
hw.fsToolBarFlags = HHWIN_BUTTON_BACK | HHWIN_BUTTON_HOME |
                    HHWIN_BUTTON_FORWARD | HHWIN_BUTTON_EXPAND;
hw.pszFile = L"intro.htm";
hw.pszHome = L"c:\\path\\intro.htm";
hw.pszToc = L"c:\\path\\contents.hhc";
hw.pszIndex = L"c:\\path\\index.hhk";
hw.iNavWidth = 175;
hw.nShowState = SW_RESTORE;
hw.curNavType = HHWIN_NAVTYPE_TOC;
hw.tabpos = HHWIN_NAVTAB_TOP;
hw.idNotify = 69999; // 自訂 WM_NOTIFY ID
hw.pszCaption = L"My Help Title";
hw.fsValidMembers = HHWIN_PARAM_STYLES | HHWIN_PARAM_PROPERTIES |
                    HHWIN_PARAM_RECT | HHWIN_PARAM_TB_FLAGS |
                    HHWIN_PARAM_NAV_WIDTH | HHWIN_PARAM_SHOWSTATE |
                    HHWIN_PARAM_TABPOS | HHWIN_PARAM_CUR_TAB;
hw.pszType = L"MyWindowName";

// 註冊視窗類型
HtmlHelp(m_hWnd, L"c:\\path\\sample.chm", HH_SET_WIN_TYPE, (DWORD)&hw);

// 顯示
HtmlHelp(m_hWnd, L"sample.chm>MyWindowName", HH_DISPLAY_TOPIC, 0);

VC++ 專案設定必做三步

  1. 包含標頭:#include
  2. 連結庫:專案設定 → Link → 輸入 → htmlhelp.lib(或 hhctrl.lib)
  3. 若出現 LIBCMT 衝突警告:Link → Input → Ignore Libraries 加入 LIBCMT

參考資源

MSDN: https://msdn.microsoft.com/workshop/Author/htmlhelp/

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved