2015-02-23 8 views
1

У меня есть THorzScrollBox в форме, а некоторые - TStyledControls. Каждый StyledControl имеет идентификатор Tag. Используя TEdit, чтобы сообщить значение, я могу найти в ScrollBox конкретный Control его tag.Прокрутка программно THORZScrollBox Firemonkey XE6

Если control, которого я искал, нет на экране, я хочу прокрутить ScrollBox, чтобы показать его.

Как это сделать программно?

ответ

3

Я нашел способ сделать это. Я должен использовать ScrollBy. Но деталь в том, что если я хочу прокрутить элементы управления вправо, я должен использовать отрицательное значение. Пример:

sbItems.ScrollBy(-10, 0); // this will scroll to right 

Если я использую положительное значение, оно будет прокручиваться слева.

sbItems.ScrollBy(10, 0); // this will scroll to left 

Дело в том, если вы выделите один раз, ViewportPosition изменится и в следующий раз вы выполняете ScrollBy, он не сбросит позицию прокрутки, она будет прокручиваться с точки вы уже прокручивается.