Такая проблема, необходимо подменить Print Dialog при выполнении команды печати для WebControl
т.е. например такой код:
void CMyDlg::OnDemoPrint()
{
// Verify the WebBrowser control is valid.
LPDISPATCH lpDispApp = m_wndBrowser.GetApplication();
if(lpDispApp)
{
// Get the HTMLDocument interface.
LPDISPATCH lpDispDoc = m_wndBrowser.GetDocument();
if (lpDispDoc != NULL)
{
// Get the IOleCommandTarget interface so that
// we can dispatch the command.
LPOLECOMMANDTARGET lpTarget = NULL;
if (SUCCEEDED(lpDispDoc->
QueryInterface(IID_IOleCommandTarget,
(LPVOID*) &lpTarget)))
{
// Execute the print command. The
// control will handle the print
// GUI.
// OLECMDID_PRINT is defined in
// "docobj.h".
// вот тут-то и вызывается печать HTML (содержимое WebControl)
// 3-й параметр дает возможность, показывать или не показывать родной Print Dialog
В том-то и дело, что показывать диалог нужно, но свой! Т.е. данный код можно запустить и без вызова стандартного Print Dialog и перед вызовом функции Ecec(...) создавать свой, но как передать настройки принтера и т.п. вещи для печати... Замена принтера по умолчанию не является приемлемым решением
Буду благодарен, если кто сможет чем помочь!
Спасибо за внимание!