Delphi中OnDrawCell的使用技巧[2]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 loveghb 的 blog

图2

1.保存image字段

在执行查询时读取所有image字段,并保存到客户机硬盘。

begin

......// 略去查询语句

filename:=‘d: emp’; //初始化临时文件路径

mydbimage:=tdbimage.create(self);//创建dbimage

mydbimage.parent:=self;

mydbimage.datasource:=datasource1;

mydbimage .datafield:=‘描述’;//指定为“描述”字段

index:=1;

while not clientdata.eof do begin //读数据库

s:=inttostr(index);

filename1:=filename+s;

filename1:=filename1+‘.bmp’;

//保存临时文件

mydbimage .picture .bitmap .savetofile(filename1) ; grid .cells[0,index]:=clientdata.fieldbyname(‘零件编号’).asstring;

grid.cells[1,index]:=‘’;

//填写表格

grid.cells[2,index]:=clientdata.fieldbyname(‘实测数据’).asstring;

clientdata.next;

index:=index+1;

end;

mydbimage.destroy(); //释放dbimage

end;

2.拷贝图形

设置ondrawcell事件,读取临时文件,并将图形拷贝到表格的指定列:

if ((acol=1)and(arow>0) and (grid.colcount>2)) then begin

//表格至少需要两列

filename:=‘d: emp’;

s:=inttostr(arow);

filename:=filename+s;

filename:=filename+‘.bmp’;

myimage:=timage.create(self);//创建image控件

myimage.parent:= self;

//读临时文件

myimage.picture.bitmap.loadfromfile(filename);

//拷贝图形

grid.canvas.draw(rect.left,rect.top,myimage.

picture.graphic);

myimage.destroy(); //释放image控件

end;

本文关键:Delphi中OnDrawCell的使用技巧
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top