[Problem] Bild-Datei in StringGrid einfügen

Für Fragen rund um die Ide und zum Debugger
Antworten
InformatikNewbie94
Beiträge: 1
Registriert: Di 25. Feb 2014, 13:45

[Problem] Bild-Datei in StringGrid einfügen

Beitrag von InformatikNewbie94 »

Hallo liebe Lazarus-Freunde,

für mein Spiel welches ich in Lazarus programmiere, möchte ich eine TDrawGrid verwenden.
Jedoch finde ich keine Möglichkeit Bilder (png/jpg/bmp/gif) in eine Zelle in der Tabelle einzubinden.
Die Bilder müssten nichtmal skaliert werden.

Kennt sich jemand mit so etwas aus?

wp_xyz
Beiträge: 5130
Registriert: Fr 8. Apr 2011, 09:01

Re: [Problem] Bild-Datei in StringGrid einfügen

Beitrag von wp_xyz »

Du musst in dem OnDrawCell-Event das Bild selber auf den Canvas des Grid malen, etwa so (hier wird das Bitmap aus einer ImageList entnommen):

Code: Alles auswählen

 
procedure TForm1.DrawGrid1DrawCell(Sender: TObject; aCol, aRow: Integer;
  aRect: TRect; aState: TGridDrawState);
var
  bmp: TBitmap;
  imgindex: Integer;
begin
  if (ACol = 0) or (ARow = 0) then
    exit;
  bmp := TBitmap.Create;
  try
    imgIndex := ACol mod 2;  // Bild-Index alternierend umschalten - nur als Beispiel...
    ImageList1.GetBitmap(imgIndex, bmp);
    DrawGrid1.Canvas.Draw(aRect.Left+2, aRect.Top+2, bmp);
  finally
    bmp.Free;
  end;
end;  

Antworten