1

我的应用程序是在 MFC 中构建的。应用程序执行后,我需要打开 exe 提供的帮助文件。

但是当我按 F1 时,应用程序会给出一条错误消息,指出无法找到该文件。发生这种情况是因为不存在该名称的此类文件。

有人会想如何更改帮助文件本身的名称?好吧,那是做不到的,我也必须改变路径。

我想知道 F1 按钮的功能是如何工作的,在哪里可以找到相同的功能?

我正在使用 VC++ 6.0(我知道它很旧,但我坚持使用它)。

谢谢你。

4

3 回答 3

3

要显示您的特定帮助文件,您必须覆盖CWinApp::OnHelp. 标准帮助文件的路径存储在CWinApp::m_pszHelpFilePath. 在此示例中,我使用自己的m_path变量。

void CMyApp::OnHelp() 
{
    ::HtmlHelp(((CMainFrame*)AfxGetMainWnd())->m_hWnd,m_path,HH_DISPLAY_TOPIC,NULL);
}
于 2013-04-01T13:59:00.783 回答
2

如果我没记错的话,默认情况下它是由处理的,CWinApp::OnHelp()所以先看看你对应用程序类的覆盖,你可能会在ON_COMMAND那里找到处理程序。

于 2013-04-01T13:59:13.817 回答
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
}
于 2016-09-22T08:00:12.933 回答