Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > Анимированного движения фигуры


Автор: Competitor 30.1.2006, 19:48
Фрагмент программы анимированного движения фигуры:
Код

BitBlt(Buffer.Canvas.Handle, 0, 0, Form1.PaintBox1.Width, Form1.PaintBox1.Height, Form1.PaintBox1.Canvas.Handle, 0, 0, SRCCOPY);

Здесь происходит копирование фона в память для его последующего восстановления с отсутствием мерцания. Фон копируется, затем происходит перерисовка фигуры, затем фон восстанавливается. Однако, если перекрыть форму Form1 во время выполнения каким-либо другим окном, то эта функция BitBlt, несмотря на аргумент Form1.PaintBox1.Canvas.Handle производит копирование из другого окна (которое на данный момент активно), из соответсвующей области.
У кого какие предложения, как побороть сей недуг?

Автор: VAVII 31.1.2006, 18:03
смотри http://forum.vingrad.ru/index.php?showtopic=81693

Автор: Alexeis 31.1.2006, 18:43
Можно попробовать альтернативный вариант- метод draw Canvas-a

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)