Вниз
Скачать: 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.03 c
15-1138025258
*Pavel
2006-01-23 17:07
2006.02.12
О TFT мониторах


15-1137571462
PKT
2006-01-18 11:04
2006.02.12
Выбрать предмет в универе


1-1136980916
Gear
2006-01-11 15:01
2006.02.12
Как можно установить Merge Module (*.MSM) с помощью Delphi ?


2-1138275738
Андр
2006-01-26 14:42
2006.02.12
Как преобразовать строку из UTF-8 в WIN-1251


4-1133562913
Delphi_is_cool
2005-12-03 01:35
2006.02.12
Не отображаются Item ы в СomboBox




   Наверх