Hola
Si solo vas a usar una sola imagen para todos los "cuadros", tambien puedes hacer esto si es que quieres modificar la imagen desde fuera del programa.
Código Delphi
[-]
var
Form1: TForm1;
imagen: TImage;
implementation
{$R *.dfm}
procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
DrawGrid1.Canvas.Draw(Rect.Left,Rect.Top,Imagen.Picture.Graphic);
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
imagen.Free;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
imagen := TImage.Create(nil);
imagen.Picture.LoadFromFile('C:\Desarrollo\Iconos\admin_32.ico');
end;
end.
Salud OS
Edito
Leyendo de nuevo, vi que quieres hacer clic en alguna celda y colocar una imagen en ella,
Código Delphi
[-]
var
Form1: TForm1;
imagen: TImage;
_Rect: TRect;
implementation
{$R *.dfm}
procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
DrawGrid1.Canvas.Draw(_Rect.Left,_Rect.Top,Imagen.Picture.Graphic);
end;
procedure TForm1.DrawGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
begin
_Rect := DrawGrid1.CellRect(ACol,ARow);
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
imagen.Free;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
imagen := TImage.Create(nil);
imagen.Picture.LoadFromFile('C:\Desarrollo\Iconos\admin_32.ico');
end;
end.