![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как незаметно перерисовать форму? [D6, WinME]
Helg © (2002-11-12 19:44:00)Подскажите, как нормальные люди поступают в таких случаях: Я рисую на Form1.Canvas трехмерную картинку, потом меняю параметры картинки, стираю старую - RectAngle(ClipRect) и рисую новую. При этом в момент очистки и перерисовки, естественно проскакивают блики и мигание. Как бы сделать так, чтобы момент перерисовки на экране не отображался?
Helg (2002-11-13 20:25:00) [1]Отлично, BitBlt сработал. То, что доктор прописал. У меня как раз BitMap нашелся не задействованный в этот момент. Остальное пока не пробовал.
AlexT1000 (2002-11-13 12:06:00) [2]вставляешь в форму
procedure WMErase(var msg:TMessage); message WM_ERASEBKGND;
procedure TFormImage.WMErase(var msg: TMessage);
begin
msg.Result := 1;
end;
Song (2002-11-13 09:20:00) [3]>>Рисуют на битмапе, затем его BitBlt на форму
Это реализация DoubleBuffered. Может им можно обойтись?
MBo (2002-11-13 05:23:00) [4]Рисуют на битмапе, затем его BitBlt на форму
Song (2002-11-12 21:06:00) [5]Способы есть, но у Вас сиуация очень нестандартная.
Попробуйте LockUpdateWindow().