CBuilder中幫助文件的連接及顯示討論
發(fā)表時間:2024-02-06 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]作者:likecpp 前幾天需制作一幫助文件,通過網(wǎng)查找及試驗發(fā)現(xiàn)以下方法,希對有同樣需要的人們有一些幫助。目前的幫助文件主要有三類:*.hlp*.chm*.html制作方法各有不同,本文主要提及在CBuilder中幫助按鍵的檢測及應(yīng)用問題。方法1:在Form 屬性中設(shè)__property An...
作者:likecpp
前幾天需制作一幫助文件,通過網(wǎng)查找及試驗發(fā)現(xiàn)以下方法,希對有同樣需要的
人們有一些幫助。
目前的幫助文件主要有三類:
*.hlp
*.chm
*.html
制作方法各有不同,本文主要提及在CBuilder中幫助按鍵的檢測及應(yīng)用問題。
方法1:
在Form 屬性中設(shè)
__property AnsiString HelpFile = {read=FHelpFile, write=FHelpFile};
及
HelpContext
方法2:
在Form 事件中設(shè)
__property Classes::THelpEvent OnHelp = {read=FOnHelp, write=FOnHelp};
方法3:
在增加一件菜單項,對菜單項設(shè)置熱鍵F1
后通過事件進行程序控制
以上三個方法均是對單個窗口進行幫助控制。
方法4:
通過設(shè)置
Application->OnMessage = ....;
該方法可以對有所有的窗口統(tǒng)一控制及對一些窗口單獨控制。
方法5:
其它,如在各子窗口,控件中對幫助事件進行捕捉,并處理。
關(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