![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Копирование при помощи Bitblt [D5, WinME]
Cash © (2002-12-08 05:49:00)Подскажите, как избавиться от моргания при многочисленном копировании в одну и ту же область посредсвом функции Bitblt? Заранее благодарен за ответ!!!
Mirovodin (2002-12-08 13:24:00) [1]Организуем Buffer (TBitmap);
Процедура прорисковки всего добра выглядит след-м образом:
procedure TFrom1.UpdateFrame;
begin
...
Bitblt(Buffer.Canvas.Handle, ...); // Рисуем все что нужно в буфер
...
Bitblt(Buffer.Canvas.Handle, ...);
...
Bitblt(Self.Canvas.Handle, ...., Buffer.Canvas.Handle, .., SRCCOPY);
end;
Т.е. все Bitblt делаем на невидимый буфер Buffer, а потом кидаем его на Canvas формы последним Bitblt.