社区
Delphi
帖子详情
delphi 的上下文相关帮助怎么实现?用CHM的帮助文件
aft_st_sd
2002-07-06 03:12:28
也就是点击标题栏上的帮助按钮,然后再在某一控件上点击,即可弹出说明
在VB中控件有一个WhatsThisHelpID属性,只能设置它有好了,可是DELPHI
中只有一个HelpContext属性,可是我设了它以后,按F1是可以的,用那个
帮助控钮却不行,我知道DELPHI 本身是不支持CHM格式帮助文件的,有
什么办法吗?
...全文
67
7
打赏
收藏
delphi 的上下文相关帮助怎么实现?用CHM的帮助文件
也就是点击标题栏上的帮助按钮,然后再在某一控件上点击,即可弹出说明 在VB中控件有一个WhatsThisHelpID属性,只能设置它有好了,可是DELPHI 中只有一个HelpContext属性,可是我设了它以后,按F1是可以的,用那个 帮助控钮却不行,我知道DELPHI 本身是不支持CHM格式帮助文件的,有 什么办法吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
aft_st_sd
2002-07-06
打赏
举报
回复
呜!!呜!!!
aft_st_sd
2002-07-06
打赏
举报
回复
crack007(也许不是) 老兄十分感谢你的关注
可能你还没怎么听明白我的意思(也许是我描述
的不太清楚)我说的是上下文帮助而不是帮助上
下文,你说的这些我已经实现了。
我的意思是当标题栏上有帮助按钮的时候,你点
击帮助按钮,然后再在窗体点击你要帮助的地方,
出来一个类似于HINT的东西,这个在VB中实现是
非常容易的,可是在DELPHI中 :( 我不会
aft_st_sd
2002-07-06
打赏
举报
回复
ht99(范海涛) 兄有发吗?
crack007
2002-07-06
打赏
举报
回复
他人之玉,借花献佛。
到了关键的时候了 !由于目前HTML Help只有VC的头文件和库。要在Delphi中使用只能自己来啦。
下面是我研究HTML Help的过程。
经过分析,发现 HTML Help的使用的核心是HHCtrl.Ocx。OCX使用在Delphi中简直是
太方便了。于是我就从Delphi中Install ActiveX。妄想把HHCtrl.OCX直接放到 Tool Panel
上,结果HHCtrl.Ocx死活不能显示在Delphi的列表中,真是个顽固分子!
后来我决定直接使用它。于是我把HHCtrl.Ocx当作普通的DLL加载。挑出了核心的HtmlHelpA
函数(我没有处理双字节的函数所以HtmlHelpW我就管了)。
接着我花了一个小时把HTMLHelp.H 翻译到了PAS。并增加了几个函数和变量以处理DLL的加载和卸载。
于是只要有一个HTMLHelp_Decl.PAS 就可以搞定了。
言归正传,现在说说本例中Delphi如何使用这个文件。
HTML Help的核心使用函数是 HtmlHelpA,声明如下:
function HtmlHelpA hwndCaller:HWND; pszFile:PChar ; uCommand:UINT; dwData:DWORD_PTR ):HWND;stdcall;
所有到特定页面的引用都通过pszFile传递,uCommand表示某种操作。关于字符串传递的命名规则
和Command的说明,请参考HTML Help workshop的联机帮助的API 章节。
我做的工作如下:
封装了HHCtrl.OCX的调入,卸载,和HtmlHelpA。
加入了两个函数:
function HtmlHelp( hwndCaller:HWND; strFile:String; uCommand:UINT; dwData:DWORD_PTR ):HWND;
procedure CloseHtmlHelpSystem;
所有的操作都通过这两个函数搞定 !
HTMLHelp_Decl.Pas 使用方法:
uses HTML Help_Decl.PAS;
....
procedure TForm1.Button1Click(Sender: TObject);
begin
// 显示一个页面,函数内部自动加载 HHCtrl.OCX,并初始化
HtmlHelp( handle, AppPath+'\Sample.chm::/HelpContent\index.htm',
HH_DISPLAY_TOPIC, nil);
end;
....
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
HtmlHelp( 0, '', HH_CLOSE_ALL, nil ); // 关闭你打开的所有帮助
CloseHtmlHelpSystem; // 卸载HHCtrl.OCX
end;
aft_st_sd
2002-07-06
打赏
举报
回复
对了,有没有帮助工程文件的完整程序
aft_st_sd
2002-07-06
打赏
举报
回复
多谢
zhcl2000@163.net
ht99
2002-07-06
打赏
举报
回复
给我你的mail,我给你发个完整的程序 ht99@cx66.com
Delphi
7应用程序
上下文
相关
帮助
在
Delphi
中
实现
上下文
关联的
chm
帮助
,可以通过调用Windows系统目录System32下的HHCTRL.OCX控件中的HtmlHelpA函数
实现
。本文以一个包含两个窗体的小例子,说明了在
Delphi
7中
实现
上下文
关联
CHM
帮助
的方法。 首先,将所有窗体的KeyPreview属性设为True,响应窗体的键盘事件;然后,编写F1按键的响应代码,调用
chm
帮助
文件中的页面。这样,在不同位置(不同对话框或者不同控件)按F1键,程序将弹出与其HelpContext
相关
的
帮助
页面。
在
Delphi
之中调用
CHM
在
Delphi
之中调用
CHM
帮助
的演示.rar 在
Delphi
中,要调用
Chm
文件可以通过引用HHctrl.ocx文件的函数HtmlHelpA
实现
Devexpress VCL V2014.2.2
帮助
文档〖
CHM
格式〗
最新版本
帮助
文档,官方的英文版本。20多个组件讲解。 如果win7/win8系统看不到文档内容,请用鼠标右键点击“要打开的那个文档”,选择〖属性〗,最后一项[安全],点击〖解除锁定〗。
ww.rar_WW、101066、
Chm
_Ww233166
chm
_
delphi
MSI_CPU_ww34111
chm
_ww392
飘飘引擎服务端的控件M2Server(2006-11-01).
CHM
Delphi
编译错误中文手册
Delphi
程序员必备
Delphi
编译错误中文手册
Delphi
错误参考
Delphi
程序员必备 全面记录了出错的具体说明 尤其对于新学
Delphi
帮助
很大。
Delphi
5,930
社区成员
262,938
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章