我的应用程序是在 MFC 中构建的。应用程序执行后,我需要打开 exe 提供的帮助文件。
但是当我按 F1 时,应用程序会给出一条错误消息,指出无法找到该文件。发生这种情况是因为不存在该名称的此类文件。
有人会想如何更改帮助文件本身的名称?好吧,那是做不到的,我也必须改变路径。
我想知道 F1 按钮的功能是如何工作的,在哪里可以找到相同的功能?
我正在使用 VC++ 6.0(我知道它很旧,但我坚持使用它)。
谢谢你。
我的应用程序是在 MFC 中构建的。应用程序执行后,我需要打开 exe 提供的帮助文件。
但是当我按 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
}