высота страницы в CppWebBrauwser
От: ILUT  
Дата: 22.02.09 21:07
Оценка:
Доброе время суток. Подскажите пожалуйста можно ли в CppWebBrowser определить высоту страницы(например в вебе это можно сделать на js)? Ну или хотя бы определить, что загруженная страница больше области CppWebBrowser'a(т.е. появляются скролы). Заранее благодарю за помощь.
Re: высота страницы в CppWebBrauwser
От: ILUT  
Дата: 24.02.09 18:36
Оценка:
Здравствуйте, ILUT, Вы писали:

ILU>Доброе время суток. Подскажите пожалуйста можно ли в CppWebBrowser определить высоту страницы(например в вебе это можно сделать на js)? Ну или хотя бы определить, что загруженная страница больше области CppWebBrowser'a(т.е. появляются скролы). Заранее благодарю за помощь.


Нашел кое что интересное, на делфях:
k:=Webbrowser1.OleObject.Document.Body.ScrollHeight;
Но на C++ запись:
k=CppWebBrowser1->OleObject.Document.Body.ScrollHeight;
вы дает ошибку [C++ Error] Unit1.cpp(49): E2316 'Document' is not a member of 'Variant'

Неужели в билдере данные свойства являются закрытыми и к ним нельзя обратиться? Или же я делаю что то не так. Вобщем, подскажите пожалуйста ответ! Заранее всех благодарю за помощь!
Re[2]: высота страницы в CppWebBrauwser
От: Danchik Украина  
Дата: 24.02.09 19:41
Оценка:
Здравствуйте, ILUT, Вы писали:

[Skip]

ILU>Неужели в билдере данные свойства являются закрытыми и к ним нельзя обратиться?

У Variant нету таких методов и никогда небыло Вся магия Delphi в том, что она делает вызовы IDipatch.GetIDsOfNames + IDipatch.Invoke прозрачными для программиста, а в CPP приходится дотачивать напильником.

ILU>Или же я делаю что то не так. Вобщем, подскажите пожалуйста ответ! Заранее всех благодарю за помощь!

Честно с билдером никогда не работал, но беглый поиск по инету дал способ как вызывать IDispatch

k = CppWebBrowser1->OleObject.OleFunction("Document").OleFunction("Body").OleFunction("ScrollHeight");

Черт его знает скомпилится ли Но это точок в нужном направлении. Также может придется использовать OlePropertyGet.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.