Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Sleep в canvas e [D6]


wandp ©   (2002-11-14 04:49:00) 

Помогите, нужно между двумя канвасами поставить задержку.
Пример:
Image1.Canvas.Lineto(100,200);
Sleep();
Image1.Canvas.Lineto(100,500);

Да все прохидит без глюков, но невидно как ресуется первый КАНВАС, а только видно что происходит пауза а затем второй КАНВАС.

Одним словом как сделать чтобы сначала рисолвался один КАНВАС, а затем второй, но так чтобы было видно как они рисуются поочередно. (т.е. необходимо чтобы нарисованная линия промигала определенное время, а затем исчезла)?

Спасибо заранее. wandp@ukr.net


BSD   (2002-11-14 11:55:00) [1]

А как насчет использовать Refresh?

Image1.Canvas.LineTo(100,100);
Image1.Canvas.Refresh;
Sleep(1000);
Image1.Canvas.LineTo(200,200);


Evgeny V   (2002-11-14 06:11:00) [2]

делай с TTimer
Timer1.Interval:=...;
Image1.Canvas.Lineto(100,200);
Timer1.Enabled:=true;
while Timer1.Enabled do
begin
Application.ProcessMesagges;
end;
Image1.Canvas.Lineto(100,500);

в событии OnTimer
Timer1.Enabled:=false;

А если хочешь видеть как вообще рисуется линия, рисуй ее по точкам с задержкой (только зачем тебе это видеть, ну да ладно тебе видней :)), через Canvas.Pixels например или LineTo, но по одной точке и др.

PS:Извини, могут быть неточности по синтаксису паскаля, сам пишу на си


Наверх

Титульная страница Поиск, карта сайта Написать письмо