Also, wenn das Grid relativ statisch ist, also in jeder Zeile immer ein bestimmtes Bild aus der ImageList kommt, dann würde ich folgenden Code vorschlagen:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure TFrm_Spielfeldeditor.Bilder_ins_Grid_packen(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); var bild: Tbitmap; nummer:Integer; begin bild := Tbitmap.create; with Sender as TDrawGrid do begin nummer:=ACol+(ARow*Grid1.ColCount); Frm_Spielfeldeditor.Image_List_Grid.GetBitmap(ARow, bild); Canvas.StretchDraw(rect,bild); end; bild.Free //<---- solltest Du auch machen end; |
Oder Du fügst noch irgendwelche Bedinungen ein, in welche Zeile, welches Bild gehört.
Achja, hab gerade gesehen, dass Du mit dem Code ja in jede Zelle ein Bild zeichnest, deswegen hab ich kurzerhand den Code noch etwas umgeformt.
Und vor allem noch das Bild aus dem Speicher gelöscht.
Hoffe, das da oben kommt so in etwa rum, kannst damit ja ein bisschen rumspielen.