WebBrowser & Print Templates
От: Lexa Россия  
Дата: 24.03.05 06:27
Оценка:
Возник такой вопрос, есть WebBrowser контрол, на нем выполняется печать.
Как печатать использую Print Templates — вроде разобрался,
а вот как передать какие-нибудь параметры в шаблон — у меня не получается.
Кто- нибудь может подсказать?

Я уже пытался делать чере IDispatchEx интерфейс, которые получал у документа — тут тоже какая-то заморочка

CComPtr<IDispatch> spDisp;
m_spBrowser->get_Document(&spDisp);
CComQIPtr<IDispatchEx> spExDisp = spDisp;
DISPID dispid;
DISPPARAMS dispparams, dispparamsNoArgs = {NULL, NULL, 0, 0};
VARIANT var;
CComQIPtr<IDispatchEx> spDispExObj = spDisp;
HRESULT    hr = spDispExObj->GetDispID(CComBSTR(L"NewUrl"),fdexNameEnsure,&dispid);
CComBSTR bstrTest(L"Test string");
var.vt = VT_BSTR;
var.bstrVal = bstrTest;
dispparams.rgvarg = &var;
DISPID putid = DISPID_PROPERTYPUT;
dispparams.rgdispidNamedArgs = &putid;
dispparams.cArgs = 1;
dispparams.cNamedArgs = 1;
hr = spDispExObj->InvokeEx(dispid,LOCALE_USER_DEFAULT,DISPATCH_PROPERTYPUT,&dispparams,&var,NULL,NULL);    
//до сих пор, все отлично, hr == S_OK
hr = spDispExObj->InvokeEx(dispid,LOCALE_USER_DEFAULT,DISPATCH_PROPERTYGET,&dispparamsNoArgs,&var,NULL,NULL);
// после попытки получения свойства тоже все отлично, hr == S_OK, но var.vt == VT_EMPTY

Также, при попытки перебора всех значений expando — NewUrl присутствует, как при переборе из с++, так и из скрипта,
но при этом в с++ возвращается VT_EMPTY, а в скрипте undefined.
как правильно установить значение параметра?
--
Lexa
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.