我正在對傳統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