IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Панорама, Как сделать панораму?
Alx
сообщение 16.08.2004 13:33
Сообщение #1


Гость






Люди, подскажите пожалуйста. Мне необходимо сделать панораму. Длинная кортинка, которая едет по форме. Но когда я двигаю компонент Image по форме image.left:=image.left+1 картинка как будто мерцает и на какоето время пропадает. Мне сказали что так сделать не получится. А как же тогда мне сделать панораму? Заранее спасибо! Alx
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
BlackShadow
сообщение 18.08.2004 13:46
Сообщение #2


Гость






Цитата
потому что если Вы сделаете отрисовку в таймере, а не в OnPaint, тогда при сворачивании, перекрывании и другими манипуляциями с Вашим окном, система будет слать ему WM_PAINT, и перерисовка формы будет перебивать отрисовку в таймере.

А вот это не надо smile.gif Свёрнутое окно не рисует на своей канве. Всё, что оно может делать это рисовать в taskbar'е себя как-то иначе. Например - WinAmp, прокручивающий там название играющей песни.
Цитата
всю подобную графику принято помещать в обработчик события OnPaint

Вот тут полностью согласен.
Цитата
Неплохо бы Вам попробовать немного без VCL попрограммировать, с чистым API, так сказать... много узнаете интересного.

Золотые слова smile.gif

InvalidateRect трбует Handle окна (Form1.Handle например) и естественно сам Rect, который перерисовывать. Идея такая: сместил свою картинку, получил "след", вычислил габариты этого следа и произвёл Invalidate на этом кусочке. По сравнению с перерисовкой всей формы выигрыш обеспечен smile.gif
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Alx   Панорама   16.08.2004 13:33
BlackShadow   Проще всего было бы через DX... С простым TImage э...   16.08.2004 15:05
Guest   :p2: А тогда, соответственно, вопрос. В двух слов...   16.08.2004 15:20
BlackShadow   В общем случае - нет :) DX - Это уж совсем кратко ...   16.08.2004 16:03
P@sh@   DX - это видимо DirectX, компонент, ага... только ...   16.08.2004 16:18
Alx   Вау какой код. ОГРОМНЫЙ РЕСПЕКТ и человеческое СПА...   16.08.2004 16:38
BlackShadow   Да, вот про DoubleBuffered я и не подумал :( А под...   17.08.2004 11:23
Guest   Так этот код не будет работать? :( Я даже не зна...   17.08.2004 12:40
BlackShadow   DoubleBuffered, это когда форма поддерживает что-т...   17.08.2004 14:08
Alx   Дааа. Нашел я какие-то тексты по изучению DirectX ...   17.08.2004 15:28
BlackShadow   Я тут код написал??? Тот код, что присла P@sh@ вп...   17.08.2004 16:48
P@sh@   DoubleBuffered просто включает режим, когда Canvas...   18.08.2004 6:39
Alx   Люди, а вот посмотрите. В том коде, который написа...   18.08.2004 11:48
BlackShadow   Это не из-зп версии Delphi. Я бы посоветывал тебе ...   18.08.2004 12:31
Alx   А вот если я в коде убираю repaint, то тогда мирца...   18.08.2004 12:44
Бродяжник   procedure TForm1.Timer1Timer(Sender: TObject); beg...   18.08.2004 13:18
Alx   Но так как написал P@sh@ у меня не как не выходит....   18.08.2004 13:27
BlackShadow   А вот это не надо :) Свёрнутое окно не рисует на ...   18.08.2004 13:46
Guest   Ну а почему у меня процедура не вызывается?: proc...   18.08.2004 13:55
Бродяжник   BlackShadow "Свернутое окно не рисует на сво...   18.08.2004 14:01
BlackShadow   Бродяжник, надеюсь к критике ты относишься нормаль...   18.08.2004 14:26
Alx   Спасибо! Вечером, как только доберусь до Делфи...   18.08.2004 14:42
Бродяжник   Нормально отношусь! Ламер я... зато со стажем...   18.08.2004 16:24
BlackShadow   В зависимости от версии переменные могут быть иниц...   18.08.2004 17:01
Бродяжник   Version 1.1.   19.08.2004 8:37
P@sh@   Alx Ну а почему у меня процедура не вызывается? Эт...   19.08.2004 9:14
Alx   Ой! Всё супер! Не мерцает! СПАСИБОЧКИ...   19.08.2004 11:43
BlackShadow   А что jpg нельзя загрузить так же как и bmp? Тогда...   19.08.2004 13:31
P@sh@   Alx насчет bmp и jpeg - я использовал класс TBitm...   25.08.2004 10:20


 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 25.07.2025 4:27
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"