2013-04-01 22 views
0

我的应用程序是在MFC中构建的。执行应用程序后,我需要打开随exe提供的帮助文件。找不到'F1'键在应用程序中的工作方式

但是,当我按F1应用程序给出错误消息,说该文件无法找到。发生这种情况是因为没有该名称的文件存在。

有人会想如何改变帮助文件本身的名称?那么我不得不改变路线。

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

我使用VC++ 6.0(我知道它很古老,但我坚持使用它)。

谢谢。

回答

2

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

void CMyApp::OnHelp() 
{ 
    ::HtmlHelp(((CMainFrame*)AfxGetMainWnd())->m_hWnd,m_path,HH_DISPLAY_TOPIC,NULL); 
} 
1

如果我没有记错,在默认情况下它是由CWinApp::OnHelp()处理,以便看看你的应用程序类的覆盖第一,你可能会发现ON_COMMAND处理程序存在。

0

我有这样的扩展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 
} 
相关问题