M
macrolen
Unregistered / Unconfirmed
GUEST, unregistred user!
我在DELPHI中调用CHM,希望在不同的MDI窗口上按下F1则显示相关主题,功能已实现。利用了HHCTRL.OCX控件中的HtmlHelpA函数实现<br><br>但我不想在每个窗体中都响应F1,这样太麻烦,我想在消息还未分发给<br>窗口之前把它截获,这样只需写一次就能对所有窗口有效。<br><br>我想这样做:<br>设置不同MDI窗体的HelpContext属性。<br>例如:Form1: 10100 <br> Form2: 10101<br><br><br>相应F1按键<br><br><br>...<br><br>const<br> CompiledHelpFile = 'help.chm';<br><br>...<br><br>//公用函数ShowHelp显示不同帮助画面。<br>procedure TMainForm.ShowHelp(sTopic:string);<br>var<br>URL:string;<br>begin<br> URL := CompiledHelpFile + '::/' + 'test.htm' + '>';<br> HtmlHelp(Application.Handle,PChar(URL), HH_DISPLAY_TOPIC, 0)<br>end;<br><br>请各位告知该如何做不用在每个MDI窗口中都响应F1按键来得到不同帮助画面。麻烦请写出代码,谢谢!<br><br>我的实例代码已上传到www.playicq.com<br>http://new.playicq.com/dispdocnew.php?id=5661