Mal ein Beispiel, du kannst es natürlich auch anders handhaben:
1. Du lädst alle verschiedenen Teile in Bitmaps (
WaterBmp, GrassBmp, ...)
2. Du speicherst den Typ jedes Teils in einem Array mit denselben Dimensionen wie dein DrawGrid (
Feld: Array[0..5,0..5] of TKind)
3. Du lädst im
OnDrawCell das jeweilige Bitmap:
Delphi-Quellcode:
const
Hoehe = 32; // Größe eines Teiles
Breite = 32;
[...]
procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var WaterBmp: TBitmap;
begin
case Feld[ACol,ARow] of
Grass: DrawGrid1.Canvas.Draw(ACol*Breite,ARow*Hoehe,GrassBmp);
Water: [...]
end;
end;
[edit] Oder auch:
Grass: DrawGrid1.Canvas.Draw(Rect.Left,Rect.Top,GrassBmp);