怎样改变DBGrid的网格线的颜色?多谢了!

superdelphi 2000-07-31 10:22:00
as subjust.Thank u very much!
...全文
321 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
beach 2001-03-16
  • 打赏
  • 举报
回复
>>
icewind 2000-08-04
  • 打赏
  • 举报
回复
在DBGrid的OPTION中,把纵线 横线都去掉,然后在OnDrawColumnCell中自己画线,Dbgrid.Canvas.Pen.Color = Color ,DBGrid.Canvas.Pen.Style = psSolid
superdelphi 2000-08-04
  • 打赏
  • 举报
回复
to jzy,勉强解决,谢谢你la!
jzy 2000-08-02
  • 打赏
  • 举报
回复
to bpc:
这只是改变字体颜色!

to superdelphi:
还有什么问题?
bpc 2000-08-01
  • 打赏
  • 举报
回复
代码如下:
IF 条件 THEN Dbgrid1.cancas.font.color:=clred; //
dbgrid1.defaultdrawcolumcell(rect,datacol,colum,state);
superdelphi 2000-08-01
  • 打赏
  • 举报
回复
jzy,Thank u!

不过用你的方法,那么竖线和横线只能是相同的颜色了。我用下面的代码:

...
oldcol := Canvas.Pen.Color;
Canvas.Pen.Color := clred; // RowLine color
Canvas.Brush.Style := bsClear;
Canvas.MoveTo(ARect.Left, ARect.Top);
Canvas.LineTo(ARect.Right, ARect.Top);
Canvas.Pen.Color := clblue; // ColLine color
Canvas.MoveTo(ARect.Left, ARect.Top);
Canvas.LineTo(ARect.left, ARect.Bottom);
Canvas.Pen.Color := oldcol;
...
可以实现不同的颜色,不过总有点小问题,不知道可不可以解决?
jzy 2000-07-31
  • 打赏
  • 举报
回复
DBGrid好像没有这种属性可以设置,恐怕你要通过编写OnDrawColumnCell响应函数,
通过其参数Rect自己来重画一次了;-)
可以在响应函数中这样写:
DBGrid1.Canvas.Brush.Color := co;//co即为你所需要的颜色
DBGrid1.Canvas.FrameRect(Rect);

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧