Dieser Code funktioniert wunderbar:
Delphi-Quellcode:
procedure TForm1.FormPaint(Sender: TObject);
var Bild:TBitmap;
begin
Bild:=TBitmap.Create;
Bild.LoadFromFile(ExtractFilePath(ParamStr(0)) + '\Bilder\HintergrundOptimiert.bmp');
Form1.Hintergrund.Canvas.StretchDraw(Rect(Hintergrund.Left,Hintergrund.Top,Hintergrund.Left+Hintergrund.Width,Hintergrund.Top+Hintergrund.Height),Bild);
Bild.Free;
end;
und nun dachte ich mir, das ich es schöner finde, wenn das Bildchen auch zu sehen ist während ich programmiere.
Deshalb, habe ich es so geschrieben:
Delphi-Quellcode:
procedure TForm1.FormPaint(Sender: TObject);
var Bild:TBitmap;
begin
Bild:=TBitmap.Create;
Bild.Assign(Form1.Hintergrund.Picture.Bitmap);
Form1.Hintergrund.Picture:=Nil;
Form1.Hintergrund.Canvas.StretchDraw(Rect(Hintergrund.Left,Hintergrund.Top,Hintergrund.Left+Hintergrund.Width,Hintergrund.Top+Hintergrund.Height),Bild);
Bild.Free;
end;
Nun ja, das Bildchen ist zu sehen, soweit so gut.Nur die Cpu Auslastung ist wohl ca 10% höher, wenn ich jetzt irgendwas auf der Form etwas anklicke. Was mach ich verkehrt?