Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
Delphi 12 Athens
|
Re: Paintbox flackert
10. Okt 2009, 14:16
Hier schnell ein Beispiel (hab mal eben Lazarus unter Win7 installiert ):
Delphi-Quellcode:
const Colors: array[0..3] of TColor = (clRed, clBlue, clYellow, clGreen);
procedure TForm1.FormPaint(Sender: TObject);
var tempBMP: TBitmap;
begin
tempBMP := TBitmap.Create;
try
tempBMP.Width := 100;
tempBMP.Height := 100;
tempBMP.Canvas.Brush.Color := Colors[FIndex];
tempBMP.Canvas.FillRect(Classes.Rect(0,0,tempBMP.Width, tempBMP.Height));
BitBlt(self.Canvas.Handle,10,10,tempBMP.Width,tempBMP.Height,tempBMP.Canvas.Handle,0,0,SRCCOPY);
finally
tempBMP.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
inc(FIndex);
if FIndex > High(Colors) then
FIndex := Low(Colors);
invalidate;
end;
[edit] FIndex ist ein privates Integer-Feld, bevor noch Fragen dazu kommen [/edit]
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
|
|
Zitat
|