![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
Alx |
![]()
Сообщение
#1
|
Гость ![]() |
Люди, подскажите пожалуйста. Мне необходимо сделать панораму. Длинная кортинка, которая едет по форме. Но когда я двигаю компонент Image по форме image.left:=image.left+1 картинка как будто мерцает и на какоето время пропадает. Мне сказали что так сделать не получится. А как же тогда мне сделать панораму? Заранее спасибо! Alx
|
![]() ![]() |
BlackShadow |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата потому что если Вы сделаете отрисовку в таймере, а не в OnPaint, тогда при сворачивании, перекрывании и другими манипуляциями с Вашим окном, система будет слать ему WM_PAINT, и перерисовка формы будет перебивать отрисовку в таймере. А вот это не надо ![]() Цитата всю подобную графику принято помещать в обработчик события OnPaint Вот тут полностью согласен. Цитата Неплохо бы Вам попробовать немного без VCL попрограммировать, с чистым API, так сказать... много узнаете интересного. Золотые слова ![]() InvalidateRect трбует Handle окна (Form1.Handle например) и естественно сам Rect, который перерисовывать. Идея такая: сместил свою картинку, получил "след", вычислил габариты этого следа и произвёл Invalidate на этом кусочке. По сравнению с перерисовкой всей формы выигрыш обеспечен ![]() |
![]() ![]() |
![]() |
Текстовая версия | 25.07.2025 4:27 |