![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
В Наследнике TScrollBox периписать процедуру скроллинга [D7]
Stanislav © (2005-08-18 12:16:00)Есть наследник TScrollBox. Он Содержит объект, который при вертикальном скроллинге должен изменять положение TOP.
Подскажите пожалуйста
Какая процедура отвечает за это ? Либо за прорисовку объектов после скроллинга?
Stanislav (2005-08-25 10:31:00) [1]Спасибо! пробую.
Наиль (2005-08-25 01:56:00) [2]>[4]
С этого и надо было начинать.
Природа ScrollBy такова, что ты не можешь отменить перемещение контролов. Но если присмотреться внимательнее, то можно увидеть, что в этой процедуре не происходит прорисовки. А это значит, что если поменять координаты обратно до того как будет произведена прорисовка, то ни кто не чего не заметит. Теперь следи за мыслёй. Вызовы: ScrollBy->Realign->AlignControl.
AlignControl является виртуальным. Понял мою мысль? Тогда действуй!
Stanislav (2005-08-22 14:14:00) [3]Наиль © (19.08.05 22:29) [3]
Мне нужно, чтобы передвигались все кроме одного (Шкала времени), Он передвигается по горизонтали, но не должен передвигаться по вертикали.
А ScrollBy пробывал переписать, но она не вызывается при скроллинге.
Наиль (2005-08-19 22:29:00) [4]СкроллБокс для того и придуман, чтобы компоненты передвигались автоматическипри изменении скроллинга. За это отвечает функция ScrollBy.
Либо вопрос задан не правильно, либо ты делаешь что-то не правильно.
Stanislav (2005-08-19 11:14:00) [5]Наиль © (18.08.05 21:19) [1]
Спасибо, с этм понятно.
Я наверное неправильно поставил вопрос.
Мне нужно знать в какой момент переместить свой контрол.
Например: пользователь протащил скроллинг вниз, если бы у объекта TScrollBox была процедура paint, я бы в ней переместил свой объект, а в нем нет этой процедуры.
Наиль (2005-08-18 21:19:00) [6]Посмотри
procedure TWinControl.ScrollBy(DeltaX, DeltaY: Integer);
Обрати внимание на
Inc(Control.FLeft, DeltaX);
Inc(Control.FTop, DeltaY);
Дальше, я думаю, наша помощь больше не понадобится.