TScrollBox + TScrollBar это можно связать???

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Аватара пользователя
amateur
энтузиаст
Сообщения: 552
Зарегистрирован: 03.08.2007 10:15:32

TScrollBox + TScrollBar это можно связать???

Сообщение amateur »

Привет...
Как соединить TScrollBox и TScrollBar??? Этот "юмор" в TScrollBox меня уже раздражает.

Lazarus 0.9.25 FPC 2.3.1
ViTality
постоялец
Сообщения: 308
Зарегистрирован: 05.10.2007 15:12:02

Сообщение ViTality »

а зачем их соединять? у TScrollBox ведь есть свои HorzScrollBar и VertscrollBar.
вот тока у меня чето не получилось заставить их отобразиться...

Lazarus 0.9.25 FPC 2.2.1
Аватара пользователя
amateur
энтузиаст
Сообщения: 552
Зарегистрирован: 03.08.2007 10:15:32

Сообщение amateur »

отобразиться :lol:
Вот из-за этого отобразиться у меня проблемы...
Первоначально (месяца 2 назад) скрол присутствовал, потом он прикольно начал глючить(хотя и тогда глюки были). Грешу на LCL но, где собака зарыта? controlscrollbar.inc - просмотрел, сравнил со старой версией, почти идентичны. В перспективе просмотр исходников, может скудным умом и найду. Но хочу узнать: может ктот сталкивался с подобным и как-то решил это...
v-t-l
энтузиаст
Сообщения: 745
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Сообщение v-t-l »

Я тоже этот вопрос поднимал.
http://freepascal.ru/forum/viewtopic.php?t=2164
Но видно никого не беспокоит, что например в LazReport конструктор и предпросмотр из-за этого не работают.
Аватара пользователя
amateur
энтузиаст
Сообщения: 552
Зарегистрирован: 03.08.2007 10:15:32

Сообщение amateur »

Гы...
Заменил в procedure TControlScrollBar.SetPosition(const Value: Integer);
SetPosition(FAutoRange); на SetPosition(Value - (FAutoRange + Range));

и в procedure TControlScrollBar.AutoCalcRange; добавил *3
TmpRange := Max(TmpRange, c.Left + c.Width * 3); (почему на 3 - не врублюсь, оно найдено перебором)
Некое подобие скролбара появились :). Нуно еще порыть, мож че еще выкопаю...
Ответить