Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать высоту документа загруженного в 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... кто-нибуль знает как бороться с этим ограничением?


Наверх

Титульная страница Поиск, карта сайта Написать письмо