Свой Print Dialog для WebControl
От: Ignasio  
Дата: 24.06.04 10:46
Оценка:
Добрый день!

Такая проблема, необходимо подменить 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

lpTarget->Exec(NULL, OLECMDID_PRINT, 0, NULL, NULL);
lpTarget->Release();
}
lpDispDoc->Release();
}
lpDispApp->Release();
}
}

В том-то и дело, что показывать диалог нужно, но свой! Т.е. данный код можно запустить и без вызова стандартного Print Dialog и перед вызовом функции Ecec(...) создавать свой, но как передать настройки принтера и т.п. вещи для печати... Замена принтера по умолчанию не является приемлемым решением

Буду благодарен, если кто сможет чем помочь!
Спасибо за внимание!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.