Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.47 MB
Время: 0.021 c
1-6435
modem
2003-03-22 14:55
2003.04.03
Удаление папки


14-6710
Track
2003-03-15 15:23
2003.04.03
Помогите решить задачу...


14-6708
NetBreaker666
2003-03-15 19:50
2003.04.03
Есть заказ, платят $1500.


4-6855
stainer
2003-02-03 13:22
2003.04.03
ishellbrowser


14-6750
Sash!
2003-03-14 09:22
2003.04.03
Нужна консультация хакера, для написания защиты программы.