WebBrowser & ScrollBars

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Scuder
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 334
Зарегистрирован: 17.08.2002 (Сб) 13:18
Откуда: Moscow, Russia

WebBrowser & ScrollBars

Сообщение Scuder » 14.04.2005 (Чт) 13:40

Сорри, если тема уже избита - поиск ужасно работает. :-(

Есть необходимость узнать положение вертикального скролла на странице. MSDN предлагает использовать GetScrollPos или GetScrollInfo. А они, в свою очередь, требуют HWND объекта. У WB, как известно, попытка узнать HWND приводит к печальному результату. Как ни старался найти HWND с помощью FindWindow, нормального результата добиться не смог. :-(

Но есть ещё 2 момента.. :-)

После загрузки страницы:
Код: Выделить всё
Me.WB.Document.body.Scroll = "no"

Скроллинг:
Код: Выделить всё
WB.Document.parentWindow.scrollBy 0, 10 * WScroll

где WScroll имеет значение 1 или -1.

Т.е. фактически скролла не существует, поэтому я не уверен, что GetScrollPos мне вообще пригодится. Поэтому спрашиваю: как, учитывая всё вышеизложенное, узнать, когда страница долисталась до конца и когда она отображается с самого начала. Также нужно учесть, что страницы бывают маленькие, т.е. могут полностью помещаться в одно окно WB.

P.S. Предупреждая очевидный вопрос, сразу скажу: всё это нужно только для того, чтобы было понятно: отображать кнопки "Листать вниз"/"Листать вверх" или нет. :-)

Джеффи
Бывалый
Бывалый
 
Сообщения: 256
Зарегистрирован: 06.03.2005 (Вс) 0:26

Сообщение Джеффи » 14.04.2005 (Чт) 14:02

Вопрос в догонку как изменить положение скролла?

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 14.04.2005 (Чт) 14:12

Hwnd у WebBrowser на свой форме можно определить с помощью FindWindowEx. Какой класс у WebBrowser, - не помню, посмотри в MSDN. Туда же за примерами к FindWindowEx. У меня тоже была подобная проблема, но вот свой топик на форуме я не нахожу :?

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 14.04.2005 (Чт) 19:05

Установитьпозицию принудительно можно, по-моему, с помощью SetScrollInfo - вроде есть такая

Крост
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 291
Зарегистрирован: 30.01.2005 (Вс) 6:06
Откуда: Питер

Сообщение Крост » 15.04.2005 (Пт) 18:31

Библиотека MSHTML
Класс - HTMLBody
Параметр - ScrollTop


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 31

    TopList