科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件实战Delphi数据网格色彩特效

实战Delphi数据网格色彩特效

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Delphi中的数据网格控件(TDbGrid)对于显示和编辑数据库中大量的数据起着十分重要的作用;然而,在使用数据网格控件的同时,也往往因为表格中大量的数据不易区分,而令操作者眼花缭乱......

作者:陈立平 来源:yesky 2007年11月1日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
2. 纵向斑马线,同时以红色突出显示当前单元格效果:以突出显示当前选中的字段。

  file://将上述代码修改为:

  Case DataCol Mod 2 = 0 of

   True: DbGrid1.Canvas.Brush.Color:= clBlue; file://偶数列用蓝色

   False: DbGrid1.Canvas.Brush.Color:= clAqua; file://奇数列用浅绿色

  End;

  If ((State = [gdSelected]) or (State=[gdSelected,gdFocused])) then

    If Not DbGrid1.SelectedRows.CurrentRowSelected then

      DbGrid1.Canvas.Brush.Color:=clRed; file://当前选中单元格显示红色

      DbGrid1.Canvas.Pen.Mode:=pmMask;

      DbGrid1.DefaultDrawColumnCell (Rect, DataCol, Column, State);

上述两种方法突出了列的显示效果。

  3.在数据网格中以红色突出显示当前选中的行。

  设置DbGrid控件的Options属性中的dgRowSelect属性为真,Color属性为clAqua(背景色), 在DbGrid的DrawColumnCell事件中编写如下代码:

  if ((State = [gdSelected]) or (State=[gdSelected,gdFocused])) then

   DbGrid1.Canvas.Brush.color:=clRed; file://当前行以红色显示,其它行使用背景的浅绿色

   DbGrid1.Canvas.pen.mode:=pmmask;

   DbGrid1.DefaultDrawColumnCell (Rect, DataCol, Column, State);

  4.行突显的斑马线效果:既突出当前行,又区分不同的列(字段)。

  file://其它属性设置同3,将上述代码修改为:

  if ((State = [gdSelected]) or (State=[gdSelected,gdFocused])) then

   begin

    Case DataCol Mod 2 = 0 of

     True : DbGrid1.Canvas.Brush.color:=clRed; file://当前选中行的偶数列显示红色

     False: DbGrid1.Canvas.Brush.color:=clblue; file://当前选中行的奇数列显示蓝色

    end;

   DbGrid1.Canvas.pen.mode:=pmmask;

   DbGrid1.DefaultDrawColumnCell (Rect, DataCol, Column, State);

  end;
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章