当前位置:学Delphi网文档资料技术资料数据库

Delphi编程实现DBGrid控件隔行换颜色的显示效果

减小字体 增大字体 作者:佚名  来源:不详  发布时间:2010-10-31 21:16:18

DBGrid要想达到不同颜色交错显示的效果,我们只需要在DBGrid控件的OnDrawColumnCell事件中添加适当代码即可。具体关键代码如下:

...
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  inherited;
  with DBGrid1 do
  begin
    if ((State = [gdSelected]) or (State = [gdSelected, gdFocused])) then
    begin
      Canvas.Font.Color := ClYellow;
      Canvas.Brush.Color := ClNavy;
    end
    else
    begin
      if DataSource1.DataSet.RecNo mod 2 < > 0 then { 判断当前数据是奇数还是偶数行 }
        Canvas.Brush.Color := ClWhite { 如果是奇数行,DBGrid背景以白色显示 }
      else
        Canvas.Brush.Color := $00EAEAEA; { 如果是偶数行,DBGrid背景以浅灰色显示 }
    end;
    DefaultDrawColumnCell(Rect, DataCol, Column, State); { 这行很关键的,一定不要遗漏了 }
  end;
end;
...
注意:为了节约篇幅,在本文中,笔者没有指定TDBGrid的数据源控件和数据访问控件,请大家自行加上。
 

Tags:

作者:佚名
  • 好的评价 如果您觉得此文章好,就请您
      0%(0)
  • 差的评价 如果您觉得此文章差,就请您
      0%(0)

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

广告位置B