程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> 關於VC++ >> 軟件熱點敏感幫助的實現

軟件熱點敏感幫助的實現

編輯:關於VC++

很多人問起現在的CHM幫助文檔如何作為軟件的熱點敏感幫助,網上搜索的資料也不多,可能是太簡單了吧,呵呵!今天整理了一下,詳細的介紹在VC開發的軟件中對CHM幫助文檔的調用方法以及CHM幫助文檔的制作要求。

一、軟件中對CHM幫助文檔的調用方法

VC中調用CHM幫助必須用API函數HtmlHelp(),此函數在LIB庫函數內,為方便調用,我把它整體打包了,您要做的就是把它放到VC工程所在的目錄,然後包含CHMHelp.h頭文件即可。

系統包含文件如下:

#include "CHMHelp.h"
BOOL CDataDlg::OnInitDialog()
{
  CDialog::OnInitDialog();
  SetWindowContextHelpId(IDH_WJH_0300702025);
  return TRUE;
}

上述代碼中IDH_WJH_0300702025為在CHMHelpID.h中定義的敏感幫助的頁面ID,設置了ID後在需要顯示幫助的過程中(一般是用戶按F1)增加如下代碼:

BOOL CMainFrame::OnHelpInfo(HELPINFO* pHelpInfo)
{
  HWND hWnd;
  if(pHelpInfo->dwContextId > 0)
      hWnd = HtmlHelp((HWND)pHelpInfo->hItemHandle,
          theApp.m_szHelpFile,
          HH_HELP_CONTEXT,
          pHelpInfo->dwContextId);
  else
      hWnd = HtmlHelp((HWND)pHelpInfo->hItemHandle,
          theApp.m_szHelpFile,
          HH_HELP_CONTEXT,
          IDH_WJH_0100000000);
  return (hWnd != NULL);
  return CMDIFrameWnd::OnHelpInfo(pHelpInfo);
}

上述代碼即響應用戶F1按鍵,若當前顯示界面設置了熱點敏感幫助的頁面ID時,程序將打開CHM幫助文檔並跳轉到ID對應的頁面;若當前顯示界面沒有設置熱點敏感幫助的頁面ID,則顯示軟件幫助缺省的頁面。IDH_WJH_0100000000為軟件的缺省顯示頁面ID。

二、CHM幫助文檔的制作要求

CHM幫助文檔必須包含API文檔信息,包含頁面ID文件和ID對應頁面名稱申明二個文件,格式如下:

CHMHelpID.h 頁面ID文件格式:
#define IDH_WJH_0000000000 0
#define IDH_WJH_0100000000 100000000
#define IDH_WJH_0100100000 100100000
#define IDH_WJH_0100101000 100101000

AliasID.hID對應頁面名稱申明文件格式:

IDH_WJH_0000000000 = 用戶操作手冊.Content\000000000_操  作  手  冊.Htm
IDH_WJH_0100000000 = 用戶操作手冊.Content\100000000_第一部分 系統介紹.Htm
IDH_WJH_0100100000 = 用戶操作手冊.Content\100100000_第一章 主要功能.Htm
IDH_WJH_0100101000 = 用戶操作手冊.Content\100101000_1、基本功能.Htm
IDH_WJH_0100102000 = 用戶操作手冊.Content\100102000_2、高級應用功能.Htm

編制好這兩文件後,包含在HHP工程文件中,用HTML WORK SHOP進行編譯就可以了。 現在網上也有很多軟件可以按照WORD文檔的章節自動生成上述文件,極大的方便了用戶制作軟件熱點敏感幫助。現推薦一款制作CHM的軟件:Word2CHM幫助文檔制作工具,此軟件自動將WORD文檔按照章節轉換成CHM文檔,並自動生成上述兩個文件。您需要做的就是按照第一節介紹的方法在VC下加入代碼編譯軟件即可實現熱點敏感幫助。

本文配套源碼

  1. 上一頁:
  2. 下一頁:
欄目導航
Copyright © 程式師世界 All Rights Reserved