明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

CBuilder中幫助文件的連接及顯示討論

[摘要]作者:likecpp 前幾天需制作一幫助文件,通過(guò)網(wǎng)查找及試驗(yàn)發(fā)現(xiàn)以下方法,希對(duì)有同樣需要的人們有一些幫助。目前的幫助文件主要有三類(lèi):*.hlp*.chm*.html制作方法各有不同,本文主要提及在CBuilder中幫助按鍵的檢測(cè)及應(yīng)用問(wèn)題。方法1:在Form 屬性中設(shè)__property An...
作者:likecpp  

前幾天需制作一幫助文件,通過(guò)網(wǎng)查找及試驗(yàn)發(fā)現(xiàn)以下方法,希對(duì)有同樣需要的
人們有一些幫助。

目前的幫助文件主要有三類(lèi):
*.hlp
*.chm
*.html
制作方法各有不同,本文主要提及在CBuilder中幫助按鍵的檢測(cè)及應(yīng)用問(wèn)題。

方法1:
在Form 屬性中設(shè)
__property AnsiString HelpFile = {read=FHelpFile, write=FHelpFile};

HelpContext
方法2:
在Form 事件中設(shè)
__property Classes::THelpEvent OnHelp = {read=FOnHelp, write=FOnHelp};
方法3:
在增加一件菜單項(xiàng),對(duì)菜單項(xiàng)設(shè)置熱鍵F1
后通過(guò)事件進(jìn)行程序控制
以上三個(gè)方法均是對(duì)單個(gè)窗口進(jìn)行幫助控制。
方法4:
通過(guò)設(shè)置
  Application->OnMessage = ....;
該方法可以對(duì)有所有的窗口統(tǒng)一控制及對(duì)一些窗口單獨(dú)控制。
方法5:
其它,如在各子窗口,控件中對(duì)幫助事件進(jìn)行捕捉,并處理。

關(guān)鍵代碼段:
void TForm1::F1HelpUse(void)  //幫助顯示
{
   HINSTANCE hInst= ShellExecute(
          0,
          "open",
          "F:\\HelpUse\\NetHelp\\main0.htm",  //本行可根據(jù)具體更改
          "",
          "F:\\HelpUse\\NetHelp",   //本行可根據(jù)具體更改
          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)
    {
      F1HelpUse();
      Handled = true;
    }

  }
  /* for all other messages, Handled remains False so that other message handlers

can respond */
}

//設(shè)置事件處理
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  Application->OnHelp = FormHelp;

  Application->OnMessage = AppMessage;

}

2003.08.12