delphi stringgrid(画布),该如何解决

delphi stringgrid(画布)
怎么把stringgrid,画到图片的画布上?谢谢
------解决方案--------------------
如果是想把整个stringgrid控件画到一个图片上,可以用stringgrid.painto 方法

例如下面的代码把stringgrid画到一个bmp图片里并保存

var
  bmp:TBitmap;
begin
  bmp:=TBitmap.Create;
  bmp.Width:=strngrd1.Width;
  bmp.Height:=strngrd1.Height;
  stringgrid1.PaintTo(bmp.Canvas,0,0); // 把stringgrid画到bmp里
  bmp.SaveToFile('c:\aaaaaaa.bmp'); // 保存为本地图片
  bmp.Free;
end;

------解决方案--------------------
也许是想在画布上画个类似stringgrid的图?
------解决方案--------------------
设置裁剪区域,然后发送WM_Print消息
------解决方案--------------------

var
  bmp: TBitmap;
  w, h: Integer;
begin
  // 去掉第一列和网格的宽度
  w := -strngrd1.ColWidths[0] - strngrd1.GridLineWidth;
  // 去掉第一行的高度和网格的宽度
  h := -strngrd1.RowHeights[0] - strngrd1.GridLineWidth;
  bmp := TBitmap.Create;
  bmp.Width := strngrd1.ClientWidth + w;
  bmp.Height := strngrd1.ClientHeight + h;
  strngrd1.PaintTo(bmp.Canvas, w, h);// 把stringgrid画到bmp里
  bmp.SaveToFile('c:\aaaaaaa.bmp'); // 保存为本地图片
  bmp.Free;
end;