Home » Tipps & Tricks » Komponenten » TStringGrid » Bitmap in ein StringGrid zeichnen

Bitmap in ein StringGrid zeichnen

Das folgende Beispiel zeigt, wie man z.B ein Bitmap in eine Zelle eines StringGrids zeichnen kann.In das Ereignis OnDrawItem des StringGrids muss dazu folgendes eingetragen werden:

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
  if ARow=0 then // Nur Zeichenen wenn 1. Spalte
    StringGrid1.Canvas.Draw(Rect.Left,Rect.Top, Image1.Picture.Bitmap);
end;

In diesem Beispiel wird in jede Zelle der ersten Zeile ein BitMap gezeichnet, welches in Image1 enthalten ist.Die ersten beiden Parameter der Draw-Procedure geben die linke und die obere Position an.Ist das Bitmap grösser als die jeweilige Zelle, wird nur der Teil ausgegeben, der in die Zelle passt.In Delphi 3 muss ARow durch Row ersetzt werden, bzw. ACol durch Col.