Вниз
Скачать: 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.027 c
2-1138066517
stef
2006-01-24 04:35
2006.02.12
Динамический массив


2-1138324492
Лом
2006-01-27 04:14
2006.02.12
что за глюк !


15-1137677975
Holy
2006-01-19 16:39
2006.02.12
Компьютерные фирмы


8-1125394696
rentgen
2005-08-30 13:38
2006.02.12
Можно ли как-то "склеить" "массив" из TBitmap в AVI ???


2-1138121355
Ell
2006-01-24 19:49
2006.02.12
Как уменьшить размер программы?




   Наверх