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

В Наследнике TScrollBox периписать процедуру скроллинга   Найти похожие ветки 

← →
Stanislav ©   (2005-08-18 12:16) [0]

Есть наследник TScrollBox. Он Содержит объект, который при вертикальном скроллинге должен изменять положение TOP.
Подскажите пожалуйста
Какая процедура отвечает за это ? Либо за прорисовку объектов после скроллинга?


← →
Наиль ©   (2005-08-18 21:19) [1]

Посмотри
procedure TWinControl.ScrollBy(DeltaX, DeltaY: Integer);
Обрати внимание на
     Inc(Control.FLeft, DeltaX);
     Inc(Control.FTop, DeltaY);

Дальше, я думаю, наша помощь больше не понадобится.


← →
Stanislav ©   (2005-08-19 11:14) [2]

Наиль ©   (18.08.05 21:19) [1]
Спасибо, с этм понятно.
Я наверное неправильно поставил вопрос.
Мне нужно знать в какой момент переместить свой контрол.
Например: пользователь протащил скроллинг вниз, если бы у объекта TScrollBox была процедура paint, я бы в ней переместил свой объект, а в нем нет этой процедуры.


← →
Наиль ©   (2005-08-19 22:29) [3]

СкроллБокс для того и придуман, чтобы компоненты передвигались автоматически при изменении скроллинга. За это отвечает функция ScrollBy.
Либо вопрос задан не правильно, либо ты делаешь что-то не правильно.


← →
Stanislav ©   (2005-08-22 14:14) [4]

Наиль ©   (19.08.05 22:29) [3]
Мне нужно, чтобы передвигались все кроме одного (Шкала времени), Он передвигается по горизонтали, но не должен передвигаться по вертикали.
А ScrollBy пробывал переписать, но она не вызывается при скроллинге.


← →
Наиль ©   (2005-08-25 01:56) [5]

>[4]
С этого и надо было начинать.
Природа ScrollBy такова, что ты не можешь отменить перемещение контролов. Но если присмотреться внимательнее, то можно увидеть, что в этой процедуре не происходит прорисовки. А это значит, что если поменять координаты обратно до того как будет произведена прорисовка, то ни кто не чего не заметит. Теперь следи за мыслёй. Вызовы: ScrollBy->Realign->AlignControl.
AlignControl является виртуальным. Понял мою мысль? Тогда действуй!


← →
Stanislav ©   (2005-08-25 10:31) [6]

Спасибо! пробую.



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

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



Память: 0.46 MB
Время: 0.024 c
3-1134316431
kaif
2005-12-11 18:53
2006.02.12
Замучился с XDB на порту 8080 ORACLE 9i - конфликт с Tomcat


11-1119344397
вад
2005-06-21 12:59
2006.02.12
E-mail


4-1131699682
kay
2005-11-11 12:01
2006.02.12
Как добавить ссылку в Balloon tip? Или кнопку.


3-1134382634
cad2206
2005-12-12 13:17
2006.02.12
Сортировка без ключей


8-1125408065
SpyBoy
2005-08-30 17:21
2006.02.12
Уровень звука




   Наверх