about OLE (help please)
От: Alex http://megajoke.mastak.com/
Дата: 06.11.01 12:10
Оценка:
Добрый день.
Подскажите как быть.

Есть функция.

void GetAllItems(IHTMLDocument2* pHTMLDocument2)
{
........
}


Есть код.

IWebBrowser2 *pBrowser = (IWebBrowser2 *)...;
if(pBrowser)
{
IDispatch* pMainDisp;
pBrowser->get_Document(&pMainDisp);
if (pMainDisp!= NULL )
{
IHTMLDocument2* pHTMLDocument2;
HRESULT hr;
hr = pMainDisp->QueryInterface( IID_IHTMLDocument2,
(void**)&pHTMLDocument2 );

if (hr == S_OK)
{
GetAllItems (pHTMLDocument2);
pHTMLDocument2->Release();
}
}
}


Все прекрасно работает.
Но если документ представляет собой несколько фреймов,
то pHTMLDocument2 содержит основной документ (там где frameset и
frame теги)
а как получить доступ к документам в каждом фрейме.

Пробовал pHTMLDocument2->get_frames(pIHTMLFramesCollection2)
затем pIHTMLFramesCollection2->items(&pvarIndex, &pvarResult)
потом в pvarResult.pdispVal по идеи должен находится IDispath на
элемент документа, но что там находится на самом деле не известно.
Вобщем помогите выделить из pIHTMLFramesCollection2 pHTMLDocument2.

Заранее большое спасибо.
--------------------------------------
Alex Nikitin.
http://megajoke.mastak.com/ — The best joke program
--------------------------------------
Re: about OLE (help please)
От: IT Россия linq2db.com
Дата: 06.11.01 15:27
Оценка:
Здравствуйте Alex, Вы писали:

A>Все прекрасно работает.

A>Но если документ представляет собой несколько фреймов,
A>то pHTMLDocument2 содержит основной документ (там где frameset и
A>frame теги)
A>а как получить доступ к документам в каждом фрейме.

Этот вопрос относится скорее не к about OLE, а к объектной модели IE, поэтому и задавать его лучше в "Веб программирование". Здесь на него врядли ответят, а вебпрограммеры врядли заметят.
Если нам не помогут, то мы тоже никого не пощадим.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.