従来のMFCアプリケーションでメンテナンスを行っています。ヘルプダイアログの[印刷]ボタンを無効にする必要があります。プリンタがシステムに接続されていないため、ユーザーがヘルプウィンドウの[印刷]ボタンを押すとアプリケーションがクラッシュします。HtmlHelpの[印刷]ボタンを無効にする
コードは、ちょうどWindowsのヘルプダイアログを表示するために、標準的なHtmlHelpA
メソッドを使用しています。
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ヘルプチームは、プリンタがマシンに接続されていない場合をテストしました。実際には、私は彼らの開発マシンにおそらくプリンタが接続されていないと確信しています。 *他の*印刷ボタンがクリックされると、システムがクラッシュしますか? –
あなた以外のアプリケーションのヘルプの中で印刷しようとすると、HTMLヘルプがクラッシュしますか? –
私はそれも変だと思う。これは組み込みシステム(WES7)であり、メモ帳やワードパッドなどの標準的なレイアウトのアプリケーションは含まれていないため、別のアプリを見つけるのは難しいです。 – Frecklefoot