pane,lpanema

2020-10-12 阅读 周春枫整理

内容简介:epanechikovHTML帮助允许用户在帮助窗口中使用工具栏、查看目录和帮助主题。目前,有两种方法可以创建三窗格类型的HTML帮助窗口:使用HTML帮助工作坊使用HTML帮助APpaney...

HTMLHelp使用户能在一个帮助窗口中使用工具棒、查看目录和帮助主题。

目前,有两种方法创建Tri-pane类型的HTMLHelp窗口:使用HTMLHelpWorkshop创建窗口使用HTMLHelpAPI编程创建窗口本文将介绍如何使用这两种方法创建Tri-paneHTMLHelp窗口。

使用预定义窗口在HTMLHelpWorkshop环境中很容易创建和修改工程的窗口定义,有关窗口定义的其它信息,请参考微软知识库文章:Q189084HOWTO:CreateaTri-paneWindowwithHTMLHelpWorkshop本文假设在你的应用程序开发工具为VisualC,那么要在自己的程序中使用HTMLHelp帮助,必须借助于HTMLHelp提供的API函数;要调用这些API函数,就必须包含htmlhelp.h文件,并且将库文件hhctrl.lib或者htmlhelp.lib链接到自己的程序代码中。

只要你安装了HTMLHelpWorkshop环境,这些文件存放在HTMLHelpWorkshop下的Include和Lib目录中。

在下面的示范代码中,sample.chm是一个编译好的HTMLHelp帮助文件,其中有一个叫mywindow的窗口定义,下面的代码示范了如何在一个MFC程序中调用HTMLHelpAPI函数://CMainFramemessagehandlervoidCMainFrame::OnHelp(){//displaythetopicintro.htminthewindowdefined//intheHTMLHelpWorkshopHtmlHelp(m_hWnd,sample.chm::intro.htmmywindow,HH_DISPLAY_TOPIC,0);}使用HTMLHelpAPI为了创建three-pane窗口,必须首先创建和填写HH_WINTYPE结构。

HH_WINTYPE结构在HtmlHelp.h中定义,详细说明参见HTMLHelpWorkshop文档。

以下是一个例子:SampleCode/////////////////////////////////////////////CreateanHH_WINTYPEstructure.{HH_WINTYPEm_hhWinType;//Initializeallstructurememberstozero.ZeroMemory(m_hhWinType,sizeof(HH_WINTYPE));//DefineacustommessageforusewithidNotify.//YouareresponsibleforensuringthatthisID//doesnotconflictwithotherWindows/MFCmessages.#defineIDD_HELPTAB69999//Setthesizeofthestructure.m_hhWinType.cbStruct=sizeof(HH_WINTYPE);//SetupthepropertiesoftheHTMLwindow://tripanewindow,synctopicwithindex/TOC,andsoforth.//NOTE:fsValidMembers-HHWIN_PARAM_PROPERTIESmustbeset.m_hhWinType.fsWinProperties=HHWIN_PROP_TRI_PANE|HHWIN_PROP_AUTO_SYNC;//PutBACK,HOME,FORWARD,andEXPANDbuttonsontoolbarpane.//NOTE:fsValidMembers-HHWIN_PARAM_TB_FLAGSmustbeset.m_hhWinType.fsToolBarFlags=HHWIN_BUTTON_BACK|HHWIN_BUTTON_HOME|HHWIN_BUTTON_FORWARD|HHWIN_BUTTON_EXPAND;//Thefileisintherightpane.Thefullpathisnotneeded.m_hhWinType.pszFile=intro.htm;//FullPathsorCHMlocationsofvariousfiles(ifused).//TospecifythatafileiswithinaCHM,usethefollowing//syntax:CHMFileName.chm::FileName.xxx//HomePage:m_hhWinType.pszHome=c:mypathintro.htm;//TableofContents:m_hhWinType.pszToc=c:mypathcontents.hhc;//Index:m_hhWinType.pszIndex=c:mypathindex.hhk;//Expansionwidthofnavigationpane(leftpane)://NOTE:fsValidMembers-HHWIN_PARAM_NAV_WIDTHmustbeset.m_hhWinType.iNavWidth=175;//Initialdisplaystate://NOTE:fsValidMembers-HHWIN_PARAM_SHOWSTATEmustbeset.m_hhWinType.nShowState=SW_RESTORE;//TOCshouldbeactivated.//NOTE:fsValidMembers-HHWINPARAM_CUR_TABmustbeset.m_hhWinType.curNavType=HHWIN_NAVTYPE_TOC;//Tabsontop.//NOTE:fsValidMembers-HHWIN_PARAM_TABPOSmustbeset.m_hhWinType.tabpos=HHWIN_NAVTAB_TOP;//IDtouseinWPARAMinWM_NOTIFY:m_hhWinType.idNotify=IDD_HELPTAB;//TitleofHelpWindow:m_hhWinType.pszCaption=MyTitle;//Indicatewhichfieldsinstructurearevalid.m_hhWinType.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;//Specifythenameofthewindowdefinition.m_hhWinType.pszType=MyWindowName;//Thiscallcreatesthenewtypefromthevaluesin//theHH_WINTYPEstructure.Thisexampleassumesthat//avalidCHMfile,sample.chm,exists.HtmlHelp(m_hWnd,c:mypathsample.chm,HH_SET_WIN_TYPE,(DWORD)m_hhWinType);}//Displaythedefaulttopicinthewindowthatwasdefinedabove//MFC''sCFrameWnd::OnHelpmessagehandler.voidCMainFrame::OnHelp(){HtmlHelp(m_hWnd,sample.chmMyWindowName,HH_DISPLAY_TOPIC,0);}最后,我想在强调几点在VisualC工程中使用HTMLHelpAPI应注意的事项:一、在调用HTMLHelpAPI的.cpp源文件中包含Htmlhelp.h。

安装HTMLHelpWorkshop后,文件Htmlhelp.h被存放在HTMLHelpWorkshop目录下的Include子目录中。

二、在VC工程中加入Htmlhelp.lib文件,以便保证编译器link时API成功输出。

安装HTMLHelpWorkshop后,文件Htmlhelp.lib被存放在HTMLHelpWorkshop目录的lib子目录中。

三、当BuildingVC工程时,可能产生以下警告信息(如何使用Hhctrl.lib库文件,则不存在此问题。

):......defaultlibLIBCMTconflictswithuseofotherlibs;use/NODEFAULTLIB:library.如果是这样的话,可以对VC的编译环境进行设置,方法是:在Project菜单中,选择Settings-Link标签-Category下拉列表-选Input;然后在IgnoreLibraries编辑框输入LIBCMT,这样就屏蔽(Disable)掉缺省的库搜索(defaultlibrarysearch),所以,如果使用了缺省库,就必须显式列出。

经过以上的步骤VisualC工程应该能成功调用HTMLHelpAPI。

作者给您推荐的内容
  1. 华为荣耀v9相机设置在哪里?看看小编的介绍吧!01、打开手机,进入手机桌面,点开照相机。02、点开照相机后,在手机顶部有几个小工具,由左往右,它们的功能分别是闪光灯、...

  2. PPT如何设置背景音乐当制作个人网站时,许多人喜欢在网页中插入他们最喜欢的背景音乐。今天的编辑器将向您展示如何使用Dreamweaver插入背景音乐实际上,打开需要插入背景音乐的页面...

  3. 小红书怎么查看自己的二维码?...

  4. win10是有自带屏幕录制功能的,如果想在电脑上录制视频的话,可以直接点击打开使用,那么该如何开启屏幕录制呢,这里和大家简单介绍一下,供参考,希望能有所帮助。01、首先需要打开一个软...

  5. i3 8100核显评测升级方便3000低于i3-6100核心显示机电脑配置推荐配件品牌型号参考价格处理器英特尔核心i3-6100(宽松版)¥725散热器九州风神玄兵300¥59显卡预g4560核显...

  6. 下面介绍在excel中对表格内容进行分组的方法。希望本指南能帮到大家。01、以下图中的表格数据为例演示操作方法。接下来,要把表格数据按月分组。02、把7月的数据全选中。03、鼠标移到菜单栏...

  7. hao123萌主页当我们用浏览器上网时,我们会建立一个主页,因为它对我们上网很方便那么如何设置hao123的主页呢?今天,小编将和大家讨论如何将hao123设为首页。最近,小编发hao362...

  8. 微信01、首先在我们的手机桌面上找到微信并点击它,如下图所示。02、然后点击一好友对话框,如下图所示。03、接着输入//ch...

  9. w7系统怎么设置宽带连接最近,一位刚使用Windows7的用户向Win7 Home询问如何设置网络连接。他刚刚重建了系统,对windows 7系统并不熟悉。实际上,在w7中如何建立网络win7连接网线怎么设置...

  10. 新建环境win7如何删除无用驱动具体步骤变量:变量名称:devmgrshownon present_udevice变量值:1打开计算机管理界面-设备管理-其他,如下图所示。由于我的冗余驱动程序已被删除,因此此处不显示其他...