Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2018.03.18;
Скачать: CL | DM;

Вниз

TWebBrowser скролинг   Найти похожие ветки 

 
ford ©   (2016-04-01 11:55) [0]

Доброго времени суток!
Необходимо проскролировать содержимое TWebBrowser до определенного тэга, но так чтобы элемент был по середине отображаемой области.
В msdn есть описание метода ScrollIntoView для IHTMLElement
https://msdn.microsoft.com/ru-ru/library/system.windows.forms.htmlelement.scrollintoview%28v=vs.110%29.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-2

От туда в качестве параметра передается либо True, либо False:
Если задано значение true, верхняя часть объекта будет отображаться в верхней части окна. Если задано значение false, нижняя часть объекта будет отображаться в нижней части окна.

Все замечательно работает, т.е. скролирует к этому элементу, но косяк в том что он скролирует его так что элемент прижимается к левому верхнему углу (или к нижнему если False).
Т.е. если я проскролирую к элементу при установленном True, из например: "мама мыла раму". То текст "мама", заедет за верхний левый край, оставив для отображения только "мыла раму".
Что не очень то устраивает.

Может кто сталкивался, и в курсе как проскролировать сожержимое TWEbBrowser, но так чтобы элемент до которого производится скролинг, устанавливался посередине отображаемого содержимого окна?


 
ford ©   (2016-04-01 11:58) [1]

Млин, тэги "съелись"

было так:
Т.е. если я проскролирую к элементу <В> при установленном True, из например: "мама <В>мыла</В> раму". То текст "мама", заедет за верхний левый край, оставив для отображения только "мыла раму".
Что не очень то устраивает.


 
ford ©   (2016-04-01 14:08) [2]

Сделал так, вроде работает :)
Оформил в виде процедуры, параметром которой выступает IHTMLElement, До которого который надо проскролировать.
Может кому пригодится.


Procedure ScrollToEl(Src:IHTMLElement);
var wnd:IHTMLWindow2;
   Height:Integer;
Begin
wnd:=(Src.document as IHTMLDocument2).parentWindow;
Height:=((Src.document as IHTMLDocument2).body as IHTMLElement2).clientHeight;
wnd.scroll(0,Src.offsetTop-(Height div 2));
End;




Страницы: 1 вся ветка

Текущий архив: 2018.03.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.006 c
15-1471037402
Юрий
2016-08-13 00:30
2018.03.18
С днем рождения ! 13 августа 2016 суббота


15-1471210202
Юрий
2016-08-15 00:30
2018.03.18
С днем рождения ! 15 августа 2016 понедельник


6-1263673971
zSvetik
2010-01-16 23:32
2018.03.18
Видеотрансляция по сети


2-1458373007
Signal
2016-03-19 10:36
2018.03.18
Утечка памяти и как лечить, не пойму ничего IEBrowser


2-1459610574
chuxlo
2016-04-02 18:22
2018.03.18
Командная строка