如何在dbgrid中显示图片 我的一个字段是 ftgraphic 的,我想在dbgrid中显示,应如何办呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 多句嘴,说句不相干的话用DBimage不行吗? 在自画事件中处理,或用控件如ehlib 为了显示图象,要设置OnDrawColumnCell事件。procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);varbmp:tbitmap;outrect:trect;bmpwidth:integer;begin outrect:=rect; if (column.Field =table1.fields.FieldByName('Common_Name')) then begin bmp:=tbitmap.Create; try bmp.Assign(table1.fieldbyname('Graphic')); bmpwidth:=(rect.Bottom -rect.Top )*2; outrect.Right :=rect.Left +bmpwidth; dbgrid1.Canvas.StretchDraw(outrect,bmp); except bmp.free; end; if table1.fieldbyname('Length (cm)').asinteger>100 then begin dbgrid1.Canvas.Font.color:=clred; dbgrid1.Canvas.Font.style :=[fsbold]; end; outrect:=rect; outrect.left:=outrect.Left +bmpwidth; end; //dbgrid1.defaultdrawdatacell(rect,column.field,state); dbgrid1.DefaultDrawDataCell(outrect,column.field,state);end; 我觉得还是在界面上放一个DBImage比较好,一个效率比较高,再一个编程也容易一些。 遇到了这样的错误 Runtime error 216 at ...如何处理,具体情况如下 使用printer打印,16位色的图片全黑 在RAVE 报表中,如何让为0的字段显示为空??? 用Tstream 保存form问题 DELPHI的一个问题? 如何给WebBrowser空件中浏览的网页中的ifram读入HTML代码和保存这区域内的代码到文件 一个学习DELPHI的问题 ftp客户端 重命名后 卡住 发生错误 下面的问题该怎么办? 请看两个very奇怪的程序!!!! 晕了晕了。indy问题 数据模块中的问题。
用DBimage不行吗?
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
bmp:tbitmap;
outrect:trect;
bmpwidth:integer;
begin
outrect:=rect;
if (column.Field =table1.fields.FieldByName('Common_Name')) then
begin
bmp:=tbitmap.Create;
try
bmp.Assign(table1.fieldbyname('Graphic'));
bmpwidth:=(rect.Bottom -rect.Top )*2;
outrect.Right :=rect.Left +bmpwidth;
dbgrid1.Canvas.StretchDraw(outrect,bmp);
except
bmp.free;
end;
if table1.fieldbyname('Length (cm)').asinteger>100 then
begin
dbgrid1.Canvas.Font.color:=clred;
dbgrid1.Canvas.Font.style :=[fsbold];
end;
outrect:=rect;
outrect.left:=outrect.Left +bmpwidth;
end;
//dbgrid1.defaultdrawdatacell(rect,column.field,state);
dbgrid1.DefaultDrawDataCell(outrect,column.field,state);
end;
再一个编程也容易一些。