首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

delphi stringgrid(画布)解决办法

2014-01-22 
delphi stringgrid(画布)怎么把stringgrid,画到图片的画布上?谢谢[解决办法]如果是想把整个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;

热点排行