Sto eseguendo la manutenzione su un'applicazione MFC legacy. Abbiamo la necessità di disabilitare il pulsante Stampa nella finestra di dialogo della Guida. Non c'è nessuna stampante collegata al sistema e l'applicazione si blocca se l'utente preme il pulsante Stampa nella finestra di aiuto.Disattiva pulsante Stampa in HtmlHelp
Il codice utilizza solo il metodo standard HtmlHelpA
per aprire la finestra di dialogo Guida di Windows:
void CNiftyView::OnHelp()
{
CString csHelpFile;
csHelpFile.Format("%s/NiftyHelp.chm", NiftyDoc::GetHelpPath());
::HtmlHelpA(m_hWnd, csHelpFile, HH_HELP_CONTEXT, IDH_NIFTY_SECTION);
}
ho trovato informazioni che siamo in grado di sopprimere il pulsante Stampa con un po 'di codice nel foglio di stile HTML Help (http://www.sagehill.net/docbookxsl/HtmlHelp.html) . Ma ciò richiederebbe la ricompilazione del file di aiuto, e preferirei non farlo. Ho anche trovato alcune informazioni che dicono che è possibile personalizzare il Visualizzatore della Guida HTML manipolando la struttura HH_WINTYPE di ogni riquadro, ma non le informazioni su come lo si fa effettivamente (http://msdn.microsoft.com/en-us/library/ms524435%28v=vs.85%29.aspx).
C'è un modo per disabilitare il pulsante Stampa nel visualizzatore della Guida HTML in modo programmatico?
* "non v'è alcuna stampante collegata al sistema e l'applicazione si blocca se l'utente preme il pulsante Stampa nella finestra di aiuto. "* Questo mi sembra strano. Sicuramente il team di assistenza HTML ha testato il caso in cui nessuna stampante era collegata alla macchina. In effetti, scommetto che le loro macchine di sviluppo probabilmente non avevano una stampante collegata a loro. Il sistema si blocca quando si fa clic su * altri * pulsanti di stampa? –
La Guida HTML si arresta in modo anomalo quando si tenta di stampare con l'aiuto di qualche altra applicazione? –
Penso che sia strano anche io. È difficile trovare un'altra app da stampare perché si tratta di un sistema incorporato (WES7) e non contiene il layout standard di app come Blocco note o WordPad. – Frecklefoot