我正在对旧版 MFC 应用程序执行维护。我们需要禁用帮助对话框中的打印按钮。如果用户按下帮助窗口中的“打印”按钮,则没有打印机连接到系统并且应用程序崩溃。
该代码只是使用标准HtmlHelpA
方法来调出 Windows 帮助对话框:
void CNiftyView::OnHelp()
{
CString csHelpFile;
csHelpFile.Format( "%s/NiftyHelp.chm", NiftyDoc::GetHelpPath() );
::HtmlHelpA( m_hWnd, csHelpFile, HH_HELP_CONTEXT, IDH_NIFTY_SECTION );
}
我发现我们可以在帮助 HTML 样式表 ( http://www.sagehill.net/docbookxsl/HtmlHelp.html ) 中使用一些代码来抑制打印按钮。但这需要重新编译帮助文件,我不想这样做。我还发现一些信息说您可以通过操作每个窗格的 HH_WINTYPE 结构来自定义 HTML 帮助查看器,但没有关于您如何实际执行此操作的信息(http://msdn.microsoft.com/en-us/library/ms524435%28v =vs.85%29.aspx)。
有没有办法以编程方式禁用 HTML 帮助查看器中的打印按钮?