Главная страница
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.004 c
2-1459500919
ford
2016-04-01 11:55
2018.03.18
TWebBrowser скролинг


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


2-1459026105
lewka
2016-03-27 00:01
2018.03.18
Протоколы буфера


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


2-1456676881
Илья_666
2016-02-28 19:28
2018.03.18
Взаимодействие с компонентами