我的应用程序是在MFC中构建的。应用程序执行后,我需要打开exe提供的帮助文件。
但是当我按F1应用程序时会显示一条错误消息,指出无法找到该文件。发生这种情况是因为不存在该名称的此类文件。
有人会考虑如何更改帮助文件本身的名称?好吧,这是无法做到的,我也必须改变路径。
我需要知道F1按钮的功能如何工作以及我在哪里可以找到相同的功能?
我正在使用VC ++ 6.0(我知道它很老了,但我坚持使用它。)
谢谢。
答案 0 :(得分:3)
要显示您的特定帮助文件,您必须覆盖CWinApp::OnHelp
。标准帮助文件的路径存储在CWinApp::m_pszHelpFilePath
中。在此示例中,我使用自己的m_path
变量。
void CMyApp::OnHelp()
{
::HtmlHelp(((CMainFrame*)AfxGetMainWnd())->m_hWnd,m_path,HH_DISPLAY_TOPIC,NULL);
}
答案 1 :(得分:2)
如果我没记错的话,默认情况下它由CWinApp::OnHelp()
处理,所以先看看你对应用程序类的覆盖,你可能会在那里找到ON_COMMAND
处理程序。
答案 2 :(得分:1)
我有一个扩展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
}