Einzelnen Beitrag anzeigen

felix00186

Registriert seit: 31. Dez 2015
6 Beiträge
 
#1

Bild mit StretchDraw in Zelle eines StringGrid einfügen

  Alt 13. Jan 2017, 12:14
Delphi-Version: 5
Hallo!

Ich möchte mit Lazarus ein Minesweeper-Spiel programmieren. Dazu habe ich ein 9x9-StringGrid erstellt und in jede Zelle, in der eine Mine sein soll, ein 'M' geschrieben.
Danach wollte ich mit dem folgenden Programmcode in jede Zelle, in der ein 'M' steht, das Bild einer Mine mit dem StretchDraw-Befehl platzieren:

Delphi-Quellcode:
  bild:=TBitmap.create;
  bild.LoadFromFile(ExtractFilePath(ParamStr(0))+'Mine.bmp');
  for x:=0 to 8 do for y:=0 to 8 do if StringGrid1.cells[x,y]='Mthen StringGrid1.Canvas.StretchDraw(StringGrid1.CellRect(x,y),bild);
  bild.free;
Wenn ich das Programm starte und das Spielfeld erstelle, blitzen kurz mal ein paar Minen auf, verschwinden aber sofort wieder.
Was habe ich hier falsch gemacht und wie ist es richtig? Ich bitte um Hilfe. Das gesamte Projekt (außer der exe-Datei) ist im Anhang.

Vielen Dank an alle!
Angehängte Dateien
Dateityp: zip Projekt.zip (423,5 KB, 5x aufgerufen)
  Mit Zitat antworten Zitat