返回首页

{A}{S0}简介
我最后一次试图在网上搜索得到一个完整的指南,在MFC应用程序使用HTML,我发现有许多主题有关HTML帮助,但他们都没有我想要的工作同样的目的,所以在与HTML Help Workshop的研究文件的工作,我终于决定从头开始写HTML帮助工作的一个主题。
在此演示文稿,我将在2个主要阶段通过9步MFC应用程序集成到一个HTML帮助文件。 2个主要阶段:创建HTML帮助文件HTML文件链接到您自己的MFC应用程序第1阶段:创建*. CHM(编译帮助模块)文件
首先,你需要安装HTML Help Workshop的,它可以下载:{A2}。
编辑您自己的*. chm文件(编译帮助模块)。您可以从头开始,但我认为你最好修改你想要的。chm文件具有相同的结构现有的。chm文件。执行以下步骤:
第1步。打开HTML Help Workshop中
第2步。单击File - GT;反编译
第3步。选择你要存储文件反编译后的目标文件夹。您应该创建一个新文件夹来存储文件,因为许多文件将被反编译后生成的。
选择现有的。chm文件。
在这个例子中,我使用PowerDVD.chm的文件,因为它与我的应用程序相同的帮助结构。
步骤4。使用HTML编辑器,例如微软FrontPage中,编辑的HTML文件(S)已经由HTML Help Workshop中提取的内容,你想有的内容。这一步是像编辑一个网站的过程中。
第5步。导入和编译自己的帮助点击文件- GT;新GT;项目。出现一个对话框,选择"下一步"。分配一个项目的名称,。单击"下一步"。检查您在新的对话框中看到的所有复选框。单击"下一步"。在未来三年对话框中,新建项目向导会问你找到表的内容,帮助索引和HTML文件。您只需选择相应的文件,在第3步中提取文件夹中的HTML Help Workshop的。每次你回答一个对话框时,单击下一步。点击File - GT;编译
这是创建你自己的。chm文件,现在提出的第二阶段,所有你需要做的的。第二阶段:总结MFC应用程序的帮助文件
步骤6。创建一个注册表项:打开命令窗口,键入"regedit" 浏览KEY_LOCAL_MACHINE \ SOFTWARE \ MICROSOFT \ WINDOWS \ HTMLHELP 创建一个新的字符串值如下:值的名称是您的HTML帮助文件的名称,例如:SampleHelp.chm数值数据是chm文件定位,例如:C:\ TestHelp \ MyHelp \(记得要放在最后一个反斜杠)的路径。
{S2}
7步。创建一个MFC应用程序。
第8步。 htmlhelp.lib导入到您的应用程序。右键单击资源文件- GT;添加文件到文件夹。选择htmlhelp.lib。
{S3}
第9步。调用帮助创建一个按钮。在TestHelpDlg.cpp加入这一行。

#include "htmlhelp.h"
指定事件调用帮助{C}
这是您的工作!|阮清芳

回答

评论会员:游客 时间:2011/12/06
是否有任何方式把右边的导航窗格
?沙龙
评论会员:游客 时间:2011/12/06
感谢你的好教程。有一个问题:我的CHM需要在帮助文件中显示图片。了良好的条件5KB-70KB大小,JPG,GIF或BMP的文件类型是图片。超过50%的图片不能显示。chm文件,即使它们形。html文件。再次感谢您的帮助。最好的问候,沙龙
Nicolas2929
评论会员:游客 时间:2011/12/06
您的项目不使用CLR:纯粹的财产=/
会员3455398
评论会员:游客 时间:2011/12/06
我已经能够到一个对话框,但我不能帮助弹出在一个CFormView如果你已经能够做到这一点,你可以分享您的技术吗?感谢
somnuc
评论会员:游客 时间:2011/12/06
嗨,我可以不下来示范项目
asalvat
评论会员:游客 时间:2011/12/06
文章是好的。我想提出了一些修改:1。作为一种资源,而不是使用htmlhelp.lib做到以下几点:在VC6的菜单工具-选项-GTGT目录"选项卡-选择库文件,并添加HelpWorkshop的库路径:即C:\PROGRAMFILES\HTMLHelpWorkshop的\LIB;设置在菜单Project-GT-GT;链接库"标签/对象模块编辑框写htmlhelp.lib2。添加包含路径htmlhelp.h:在VC6菜单工具-选项-GT;目录选项卡,选择包括文件和HelpWorkshop中添加包含路径:即C:\PROGRAMFILES\HTMLHelpWorkshop的\关于asalvat@tie.cl
bankey1010
评论会员:游客 时间:2011/12/06
。嗨,我要发动我的chm文件中指定的页面打开,我能够推出chm文件,但所需的页面不显示,我以及:HTMLHELP(GetDesktopWindow(),_T("MyCHMFile:/MyPage.htm"),HH_DISPLAY_TOPIC,NULL);,但它没有CFM文件推出时..........{BR}注:我只EXE即chm文件没有hpp文件任何帮助???????。。
dandany
评论会员:游客 时间:2011/12/06
为什么我得到错误C2660:?"的CWnd::HtmlHelpA":功能并不需要4个参数DanielO
AlfonsoFuentes
评论会员:游客 时间:2011/12/06
我使用的下面的句子,是非常有用的类CMainFrame。:HtmlHelpA(今-GT;m_hWnd,"ayuda.chm",HH_DISPLAY_TOPIC,NULL);
菲尔Sobolik
评论会员:游客 时间:2011/12/06
其实正确的注册表项(至少在XP)HKLM/软件/微软/Windows/HTML帮助的阿方
大鼠标
评论会员:游客 时间:2011/12/06
谢谢我可以节省我的时间,因为这种有用的信息来源。谢谢。^^{S4}的
DrTom2
评论会员:游客 时间:2011/12/06
MFC核心和标准组件,MFC扩展,等在此过程不与最新的VisualC2005-升级后,#包括StdAfx.h中的陈述不获认可。运行您的演示版也不起作用-它需要MFC42D.DLL和msvcrtd.dll安装。下载并安装这些DLL后,我得到错误消息"序5078不能设在动态链接库MFC42D.DLL"。有什么建议?DrTom2
h_rw
评论会员:游客 时间:2011/12/06
我把HTML帮助exe文件在同一文件夹中的文件,让说,我在C:\测试。然后,调用帮助文件,我用这个:HTMLHELP(此-m_hWnd,"HelpSample.chm",HH_DISPLAY_TOPIC,NULL);但不知何故HelpSample.chm不能称为。然后,我改变成:HTMLHELP(m_hWnd,"C:\\测试\\HelpSample.chm",HH_DISPLAY_TOPIC,NULL)现在的帮助文件可以被调用。我不知道为什么第一种方法失败调用帮助文件,尽管我已经把帮助的。exe文件在同一文件夹。请帮助我来解决这个问题。感谢。
阮成芳
评论会员:游客 时间:2011/12/06
。HTMLHELP函数的第二个参数是不是*.chm文件的路径,但是这是真正的路径数值数据的注册表键值名称您必须创建一个注册表项调用的HTMLHELP之前,有关详细信息,请参阅步骤6最好的问候,
汤普森
评论会员:游客 时间:2011/12/06
信息。关于
阮成芳
评论会员:游客 时间:2011/12/06
请不要在你的拉链提供的调试版本,但释放之一!!它是打火机...。来源,删除APS,NCB,选择,PLG,如果你不修改它自愿的README.TXT