当前位置:主页>delphi7/进销存和数据库> 文章内容

DrawColumnCell的用法???在线等待先谢谢(200)

发布时间:2010-02-01 | QQ免费站
1楼: 把多个图片的目录和名称保存到数据库中,通过查询按照 数据库中的目录和名称将图片依次显示在dbgrid中, 谁有好的方法推荐一下。或是给各例子吗? 字串5

2楼: 显示在dbgrid中可以用drawcolumncell事件,你的图片是存的目录地址和图片文件名名吗? procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var bmp:TBitmap; begin with DBGrid1 do begin if DataCol=1 then//指定第一列为你要画图的列,可以自己给定 begin bmp:=TBitmap.Create;{目前支持bmp格式,如果要支持jpg,那么先uses JPEG ,然后用TJPEGImage来装载就可以了,如jpg:TJPEGImage} try bmp.LoadFromFile(‘图片路径和文件名‘);//图片路径和文件名可以动态的从当前记录获得 bmp.Transparent:=true; canvas.Draw(rect.left,rect.top,bmp); finally bmp.free; end; end; end; end; 字串3

3楼: to hongxing_dl: 我把DefaultDrawing设成false; 为啥没有显示呢?
字串1

4楼: 建议使用第三方的控件吧,因为DBGrid是经常刷新的,如果使用上面的方法进行绘图,每次都LoadFromFile一次的话,速度会慢得不得了的。

字串6

5楼: 给介绍一个控件吧 字串1

6楼: infopower4000,ehlib,express公司的产品。

字串4

7楼: DefaultDrawing=True
字串1

8楼: to hxb_leiyuan:是免费的吗?
字串5

9楼: [code][/code] 字串5

10楼: 乍得了呢
字串5

11楼: 自己画试过没有呢~~~~用三方的控件还是于是无补
字串7

12楼: to hongxing_dl: 图片不能整幅显示在grid上。就像image的strecth一样 字串7

13楼: 是你的Grid行太窄了吧? 设置Grid的Font大些,将行拉高 你也可以用TImage来载入图片,图片高度都一致,然后将其Strech设置为True

字串1

14楼: to hongxing_dl: 我动态建的image但是不好用。 代码如下: var MyImage: TImage; FileName: string; begin with EasyGrid1 do begin if ARow=1 then//指定第一列为你要画图的列,可以自己给定 begin FileName := ‘C:\Documents and Settings\zxj\My Documents\My Pictures\0000000002.bmp‘; MyImage := TImage.Create(Self);//创建Image控件 try MyImage.Parent := Sender as TEasyGrid; //读临时文件 MyImage.Picture.Bitmap.LoadFromFile(FileName); //拷贝图形 MyImage.Stretch:=true; canvas.Draw(rect.left,rect.top,MyImage.Picture.Graphic); MyImage.Picture.Graphic); finally MyImage.free; //释放Image控件 end; end; end; 还有那位高手指点一下 字串5

15楼: //如果闪烁加上下面一句 TDBGrid(Sender).DoubleBuffered := true;
字串2

16楼: 谁能告诉我,如何把图片平铺到dbgrid上
字串4

17楼: to hongxing_dl: 哥哥,现在我遇到了两个问题 1、图片不能平铺 2、grid再程序运行时时时刷新,程序经常死掉,如何让grid画一次, 字串3

18楼: 咳,大家都忙呀 字串1

19楼: 有没有人呀 字串7

20楼: [code][/code]告诉我一个免费的控件也好呀、 字串9

21楼: dsdsfdsdfsfdsdasffdsfdsdfas 字串4

22楼: ddtddydfyfyf 字串9

23楼: 我前几天没上来看~~~ 要平铺,直接将你的 canvas.Draw(rect.left,rect.top,MyImage.Picture.Graphic); 换成 canvas.strechdraw(rect,MyImage.Picture.Graphic); 就可以了 字串2

24楼: to hongxing_dl: 谢谢,平铺问题我已解决,但grid时时刷新,系统老死,没办法
字串1

25楼: DoubleBuffered := True ;试过没有?? 应该不会闪的,我经常在grid上画图 字串5

26楼: 只见窗体的标题栏刷新,程序也在刷新,没有办法,用另一种方法解决拉 不过谢谢大家 字串7