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

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

Программное скролирование в WebBrowser [D7, WinXP]


Sokrat ©   (2004-11-12 12:09:00) 

Вопрос вот в чем. Есть браузер с загруженой страничкой. Нужно осуществить скроллирование содержимого вниз на строчку через нек. время. Проблема в том, что все работает только, если предварительно щелкнуть на браузере мышкой. Setfocus не катит.
Работает только, если делать navigate  и сразу setfocus. Но при повторном запуске navigate уже не катит. Подскажите как программно передать фокус на браузер?
ЗЫ: Пробовал PostMessage(WebBrowser1.handle,WM_LBUTTONDOWN,MK_LEFT,0) или что-то в этом духе. Не работает.
Заранее спасибо.


easy   (2004-11-12 14:39:00) [1]

WebBrowser1.OleObject.document.body.style.overflow := 'hidden';


Sokrat   (2004-11-12 13:41:00) [2]

ОГРОМНОЕ СПАСИБО!!! Все работает. Только вот вопросик еще, как убрать сами полосы прокрутки с браузера, а то свойства ScrollBars у него нет.
Заранее спасибо.


easy   (2004-11-12 12:18:00) [3]

procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
 const pDisp: IDispatch; var URL: OleVariant);
begin
 toHandle := GetWindow(GetWindow(WebBrowser1.Handle, GW_CHILD), GW_CHILD);
 Button1.Enabled:=true;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 sendmessage(toHandle,WM_VSCROLL,LOWORD(SB_LINEDOWN),0);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 Button1.Enabled:=false;
 WebBrowser1.Navigate(' http://delphimaster.ru/cgi-bin/forum.pl?id=1100250594&n=0');
end;


Наверх

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