我的应用程序是在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
}