以文本方式查看主题 - 曙海教育集团论坛 (http://sun4.cn/bbs/index.asp) -- C++语言开发 (http://sun4.cn/bbs/list.asp?boardid=63) ---- CBuilder中帮助文件的连接及显示讨论 (http://sun4.cn/bbs/dispbbs.asp?boardid=63&id=2424) |
-- 作者:wangxinxin -- 发布时间:2010-12-10 14:14:54 -- CBuilder中帮助文件的连接及显示讨论 前几天需制作一帮助文件,通过网查找及试验发现以下方法,希对有同样需要的 人们有一些帮助。 目前的帮助文件主要有三类: *.hlp *.chm *.html 制作方法各有不同,本文主要提及在CBuilder中帮助按键的检测及应用问题。 方法1: 在Form 属性中设 __property AnsiString HelpFile = {read=FHelpFile, write=FHelpFile}; 及 HelpContext 方法2: 在Form 事件中设 __property Classes::THelpEvent OnHelp = {read=FOnHelp, write=FOnHelp}; 方法3: 在增加一件菜单项,对菜单项设置热键F1 后通过事件进行程序控制 以上三个方法均是对单个窗口进行帮助控制。 方法4: 通过设置 Application->OnMessage = ....; 该方法可以对有所有的窗口统一控制及对一些窗口单独控制。 方法5: 其它,如在各子窗口,控件中对帮助事件进行捕捉,并处理。 关键代码段: void TForm1::F1HelpUse(void)//帮助显示 { HINSTANCE hInst= ShellExecute( 0, "open", "F:\\\\HelpUse\\\\NetHelp\\\\main0.htm",//本行可根据具体更改 "", "F:\\\\HelpUse\\\\NetHelp",//本行可根据具体更改 SW_SHOWNORMAL ); //Returns a value greater than 32 if successful } //F1按键获取 void __fastcall TForm1::AppMessage(tagMSG &Msg, bool &Handled) { if (Msg.message ==WM_KEYDOWN) { if(Msg.wParam==VK_F1)
|