1. Grundlegend solltest du keine Bilder laden im Draw Handler - lade sie dir vorher und male sie dort nur noch!
2.
Delphi-Quellcode:
procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
ARect: TRect; State: TGridDrawState);
var
bmp: TBitMap;
begin
// ShowMEssage('Col: ' + IntToStr(ACol) + ' Row: ' + IntToStr(ARow));
bmp := TBitmap.Create;
try
If ( ARow = 0 ) And ( ACol In [0..4] ) Then
bmp.LoadFromFile(Format('c:\temp\charset\%d.bmp', [Succ(ACol)]));
If ( Not Bmp.Empty ) Then
Begin
// beachte, dass ich den Parameter "Rect" in "ARect" umbenannt habe!
TDrawGrid(Sender).Canvas.CopyRect(ARect, Bmp.Canvas, Rect(0, 0, Bmp.Width, Bmp.Height));
End;
finally
bmp.Free;
end;
end;