2013-12-13 4 views
1

TListbox.topIndex не проявляется в Delphi xe5. Как выполнить аналогичную функцию? Я хотел бы иметь свиток списка, чтобы выбранный элемент находился в верхней части списка.Как динамически прокручивать в Tlistbox Delphi xe5

Я нашел другие примеры, где я могу установить ListBox.itemIndex, но это не прокручивается, так что выбранный элемент находится в верхней части списка.

Заранее спасибо.

ответ

2

Я использовал этот код, который работает:

var 
    THackListBox = type TListBox; 
begin 
    THackListBox(ListBox1).VScrollBar.Value := 0; 

Свойство VScrollBar защищено, но этот метод выставляет свойство и позволяет значению, которое будет установлено на ноль.

+0

Вы не имеете в виду 'type' not' var'? –

2

В Windows VCL TListBox имеет общедоступное свойство TopIndex, которое внутренне использует сообщение LB_SETTOPINDEX.

В FireMonkey нет эквивалента TListBox. Единственный вариант, который я вижу, - вызвать метод ListBox ScrollTo(), чтобы вручную пролистать ListBox, чтобы элемент списка целей отображался там, где вы хотите.

Смежные вопросы