返回首页


简介
这篇文章解释了如何使用HTML帮助对话框控件上显示上下文相关的帮助。要做到这一点,将需要HTML Help Workshop的。讲习班1.3版本,可下载基础知识什么是上下文相关的帮助?
上下文帮助帮助对话框控件一样,相对于一个特定的图形元素,而一般是通过一个工具提示显示。功能被激活时,按Shift - F1键,或主动控制,如果有的话,使用"?"按钮对话框和使用鼠标光标选择控制来解释,那么。上下文帮助提供面向用户的信息添加到产品的真正价值。HTML帮助为我们做什么?
执行上下文的帮助,HTML帮助为我们提供了一个有趣的功能:它可能会显示在工具提示文本。此外,ActiveX是能够管理协会之间的文本和数值里面一个已编译的HTML文件,或CHM。我们将使用这个数值作为要显示的文字标识符。
要显示一个提示,HTML帮助API提供了下面的功能:※HWND WINAPI HTMLHELP(HWND hwndCaller,LPCTSTR pszFile,UINT uCommand,  60; DWORD_PTR dwData)
其中:
hwndCaller调用窗口的HWND
pszFile是CHM文件名称
uCommand等于HH_DISPLAY_TEXT_POPUP
dwData是一个HH_POPUP结构的地址,我们将使用给ActiveX的参数,它需要显示我们想要的文本。这个概念
我们使用此API调用与对话框控件相关的说明文字。诀窍在于以下几点:我们确定对话框的每个控件的唯一标识符。我们有了这个标识符关联的字符串描述控制。知道控制,应用程序能够获得的标识符,并要求HTML帮助,以显示相应的数据。容易,不是吗?
要构建的标识符,我们作一个假设,控件和对话框使用16位的标识符。这可能并不总是真实的,但它可能是一些平面设计中的注意。了解控制的ID是通过一个特定的对话框的唯一的,是通过应用程序的唯一一个对话框标识符,我们结合一个32位的唯一使用宏MAKELPARAM之一的两个标识符,指定对话框的控制框。应用程序
应用程序实现其对话框的基类使用类CContextDialog的上下文帮助。一个对话的对象是负责其基类的初始化,设置方法CContextDialog:SetChmFile(LPCTSTR lpszChmName)CHM文件名使用。对象并在其派生类的方法的OnInitDialog。 CContextDialog基础类截获的消息WM_HELP和WM_HELP_INFO,建立主叫方控制的标识符,并调用HTMLHELP。 CContextDialog基类是否也不会显示在对话框的标题栏中根据CHM文件不存在或上下文帮助按钮。HTML帮助项目
HTML帮助项目基本上是由三个文件:该项目文件,与扩展HHP。文本文件,一般命名为cshelp.txt,因为它的HTML帮助使用默认名称,所以我们不会有此参数后管理索引文件,一般命名为同样的原因cshelp.h。
这是一个控制台应用程序的图形应用程序的资源文件(resource.rc和RESOURCE.H)作为参数,并解析文本文件可以自动建立索引文件和模板。结论
使用这种技术,执行上下文帮助,成为一个简单的任务。的主要优点是小修改的源代码,帮助文本和应用程序分离,宽松的本土化进程,并使用标准的Windows组件。主要缺点是同步应用程序的资源和HTML帮助项目,例如当更新。

回答

评论会员:游客 时间:2011/11/29
|duronebis:如果有人有兴趣,我写了一个简单的解析器创建与正确的ID定义包括文件,解析文件RESOURCE.Hresource.rc写info@profili2.com如果你想收到CIAO斯特凡诺
marcogja
评论会员:游客 时间:2011/11/29
当我运行的程序(添加Htmlhelp.libVS6.0的连接器后)不会出现在"一些对话"上下文帮助THX