我的應用程序是在MFC中構建的。執行應用程序後,我需要打開隨exe提供的幫助文件。找不到'F1'鍵在應用程序中的工作方式
但是,當我按F1應用程序給出錯誤消息,說該文件無法找到。發生這種情況是因爲沒有該名稱的文件存在。
有人會想如何改變幫助文件本身的名稱?那麼我不得不改變路線。
我需要知道F1按鈕的功能是如何工作的,我在哪裏可以找到相同的東西?
我使用VC++ 6.0(我知道它很古老,但我堅持使用它)。
謝謝。
我的應用程序是在MFC中構建的。執行應用程序後,我需要打開隨exe提供的幫助文件。找不到'F1'鍵在應用程序中的工作方式
但是,當我按F1應用程序給出錯誤消息,說該文件無法找到。發生這種情況是因爲沒有該名稱的文件存在。
有人會想如何改變幫助文件本身的名稱?那麼我不得不改變路線。
我需要知道F1按鈕的功能是如何工作的,我在哪裏可以找到相同的東西?
我使用VC++ 6.0(我知道它很古老,但我堅持使用它)。
謝謝。
要顯示您的特定幫助文件,您必須覆蓋CWinApp::OnHelp
。標準幫助文件的路徑存儲在CWinApp::m_pszHelpFilePath
中。在這個例子中,我使用我自己的m_path
變量。
void CMyApp::OnHelp()
{
::HtmlHelp(((CMainFrame*)AfxGetMainWnd())->m_hWnd,m_path,HH_DISPLAY_TOPIC,NULL);
}
如果我沒有記錯,在默認情況下它是由CWinApp::OnHelp()
處理,以便看看你的應用程序類的覆蓋第一,你可能會發現ON_COMMAND
處理程序存在。
我有這樣的擴展CWinApp
一類,因此覆蓋OnHelp
功能的工作是這樣的:
在標題:
class MyApp : public CWinApp
{
public:
afx_msg void OnHelp();
}
在cpp文件:
BEGIN_MESSAGE_MAP(MyApp, CWinApp)
ON_COMMAND(ID_HELP, MyApp::OnHelp)
END_MESSAGE_MAP()
void MyApp::OnHelp()
{
// your own help function
}