我正在对传统MFC应用程序执行维护。我们需要禁用帮助对话框中的打印按钮。没有连接到系统的打印机,并且如果用户在帮助窗口中按下“打印”按钮,则应用程序会崩溃。在HtmlHelp中禁用打印按钮
的代码只是使用标准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帮助查看器中的“打印”按钮?
*“没有连接到系统和应用程序崩溃的打印机,如果用户按下帮助窗口的打印按钮。 “*这让我感到奇怪。当然,HTML帮助团队针对没有打印机连接到机器的情况进行了测试。事实上,我敢打赌他们的开发机器可能没有打印机。当其他*打印按钮被点击时,系统是否会崩溃? – 2013-04-08 22:06:02
当您尝试在除您之外的其他应用程序的帮助下进行打印时,HTML帮助是否会崩溃? – 2013-04-09 07:42:14
我觉得它也很奇怪。很难找到另一个应用程序来打印,因为这是一个嵌入式系统(WES7),并且不包含诸如记事本或写字板等应用程序的标准布局。 – Frecklefoot 2013-04-09 19:02:38