![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать высоту документа загруженного в TWebBrowser
Виктор007 © (2007-05-07 19:11:00)Здравствуйте. Вожусь с такой проблемой - необходимо определить высоту и ширину загруженной странички при которой не появляются полосы прокрутки. В документации ничего не нашел. Решил уменьшить мерить высоту скроллбаров.
with WebBrowser1 do
begin
Height := OleObject.Document.Body.scrollHeight;
Width := OleObject.Document.Body.scrollWidth;
end;
Работает превосходно на обычных страницах. Но на "очень длинных" страничках например http://az.lib.ru/a/awdeew_m_w/text_0020.shtmlдает неправильные результаты. Так например для вышеотмеченной ссылки возвращает ~32800 пикселей, в то время как сам документ почти в два раза длиннее.
Викетор1985 (2007-05-07 19:39:00) [1]Ну уж извините за флуд. OleObject.Document.Body.scrollHeight определяет все правильно. Да вот Стандартным WebBrowser1.Height высоту больше чем Integer задать не удается. Посылкой сообщения SendMessage'ом окнам с классами "Shell DocObject View" и "Internet Explorer_Server" не помогают. Окно увеличивается, но добавленные области и не думают перерисовываться. С обычной кнопкой такой фокус проходит запросто...
Викетор1985 (2007-05-07 19:27:00) [2]Хм, странно, оказывается мне не удается увеличить контрол WebBrowser1 выше чем 32767, т.е. я увеличиваю
with WebBrowser1 do
begin
Height := 100000;
ShowMessage(IntToStr(Height));
end
А получаю теже 32767... кто-нибуль знает как бороться с этим ограничением?