Текущий архив: 2003.04.03;
Скачать: CL | DM;
ВнизКак запретить очистку канвы? Найти похожие ветки
← →
CrowD (2003-03-21 15:51) [0]Привет, All!
как запретить очистку формы перед выводом на неё изображения, а то изображение мелькает
Спасибо.
← →
Darkwin (2003-03-21 17:08) [1]я от этого избавлялся так: рисовал на другой канве, а потом копировал с нее на форму(copyrect())
← →
CrowD (2003-03-21 18:13) [2]я bitblt использовал, попробовал как ты говоришь и тем не мение все равно мелькает вот здесь текст функции http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1048236657&n=7
← →
Polevi (2003-03-21 18:36) [3]WM_ERASEBKGND
← →
Shaman_Naydak (2003-03-21 19:09) [4]ага, возвращаешь 1 и не вызываешь предка
← →
CrowD (2003-03-24 10:00) [5]Народ спасибо за ответы но нельзя ли с кодом, для чайника, а то у меня как то не вышло, явно что то не то и не туда записал, вот мой оригинал:
procedure TForm1.FormPaint(Sender: TObject);
var
X,Y,i : Integer;
t : String;
begin
Form1.Caption := "size: "+adoqMap_size.AsString;
Y:=Y0;
while (Y*22 < Form1.Height)and(Y<adoqMap_size.AsInteger) do begin
X:=X0;
while (X*32 < Form1.Width)and(X<adoqMap_size.AsInteger) do begin
t := copy(adoqMap_map.AsString,adoqMap_size.AsInteger*Y+X,1);
BitBlt(Buffer.Canvas.Handle,X*31,Y*22,46,23, BMMask.Canvas.Handle,0,0,SrcPaint);
BitBlt(Buffer.Canvas.Handle,X*31,Y*22,46,23, BM[i].Canvas.Handle,0,0,SrcAnd);
inc(X);
t := copy(adoqMap_map.AsString,adoqMap_size.AsInteger*Y+X,1);
BitBlt(Buffer.Canvas.Handle,X*31,Y*22+11,46,23, BMMask.Canvas.Handle,0,0,SrcPaint);
BitBlt(Buffer.Canvas.Handle,X*31,Y*22+11,46,23, BM[i].Canvas.Handle,0,0,SrcAnd);
inc(X);
end;
inc(Y);
end;
BitBlt(Form1.Canvas.Handle,0,0,Form1.Width,Form1.Height,Buffer.Canvas.Handle,0,0,SrcCopy);
end;
← →
REA (2003-03-24 10:24) [6]Еще у некоторых компонентов DoubleBuffered есть.
Я правда все вручную делаю, по-старинке.
Страницы: 1 вся ветка
Текущий архив: 2003.04.03;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.008 c