Вниз
Скачать: CL | DM;

Как прокрутить ScrollBox на центр?   Найти похожие ветки 

 
Tolic-F ©   (2003-07-18 19:57) [0]

Привет всем Мастерам.
Подскажите как прокрутить ScrollBox на центр независимо от его размеров? Или как определить значение Position, при котором скролл будет ровно по центру?


 
Marser ©   (2003-07-18 21:54) [1]

Смотря для чего. Для ListBox это ListBox.TopIndex:=int(ListBox.items.count/2)


 
Tolic-F ©   (2003-07-18 23:08) [2]

Я же сказал для чего, для компонента ScrollBox.


 
Anatoly Podgoretsky ©   (2003-07-19 08:19) [3]

Position := (Range-Size) div 2;


 
Tolic-F ©   (2003-07-19 11:22) [4]

Anatoly Podgoretsky
Не пойдет. Значения Range-Size не изменяются при изменении размеров ScrollBox. Size это вообще ширена для вертикальной полосы прокрутки и высота для горизонтальной, по умолчанию = 0, и тут непричем.


 
Anatoly Podgoretsky ©   (2003-07-19 11:34) [5]

У скрол бокс вообще нет таких свойств, это у TControlScrollBar!!!
Если они не меняются автоматически, то это твоя забота изменить их вручную. Рекомендуется просмотреть хелп.


 
Tolic-F ©   (2003-07-19 20:13) [6]

Anatoly Podgoretsky
Чего изменять предлагаете? Range мне не нужно изменять, если его увеличить, то прокрутка будет слишком длинной, если уменьшить, то не доконца будет прокручиваться.


 
Tolic-F ©   (2003-07-19 21:38) [7]

Я понял как найти макс. значение Position:

Для VertScrollBar это ScrollBox1.VertScrollBar.Range-ScrollBox1.Height+20
Для HorzScrollBar это ScrollBox1.HorzScrollBar.Range-ScrollBox1.Width+20

Следовательно "центровку" ScrollBox можно делать так:
ScrollBox1.VertScrollBar.Position:=(ScrollBox1.VertScrollBar.Range-ScrollBox1.Height+20) div 2;
ScrollBox1.HorzScrollBar.Position:=(ScrollBox1.HorzScrollBar.Range-ScrollBox1.Width+20) div 2;


Особенно приятно, что я сам догадался :) Но, все рвно спасибо Anatoly Podgoretsky. Или вы под "Size" и имели введу Height/Width?
Только осталось непонятным, почему +20. Скорей всего это высота кнопок прокрутки.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.016 c
3-10094
Fast
2003-07-12 21:44
2003.08.04
ADOTable.Delete


14-10406
crazy_mouse
2003-07-17 14:51
2003.08.04
sql, dbgrid и не знаю ???


1-10178
R
2003-07-22 03:24
2003.08.04
Поменять местами Items в TListView


14-10437
Дима
2003-07-18 08:29
2003.08.04
Дельфи для начинающих


1-10191
New laymer
2003-07-23 08:54
2003.08.04
Массив




   Наверх