• 隔行改变DBGrid网格颜色


    在 Form1 上放置 DBGrid1、Query1、DataSource1 三个数据库组件,设置相关的属性,使 DBGrid1 能显示表中的数据。然后,在 DBGrid1 的 onDrawColumnCell 事件中键入以下代码,然后运行程序

    代码:
    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
     DataCol: Integer; Column: TColumn; State: TGridDrawState);

    var i:integer;
    begin
      if gdSelected in State then Exit;  //隔行改变网格背景色:
        if adoQuery1.RecNo mod 2 = 0 then
          (Sender as TDBGrid).Canvas.Brush.Color := clinfobk //定义背景颜色
      else
        (Sender as TDBGrid).Canvas.Brush.Color := RGB(191, 255, 223);  //定义背景颜色

      //定义网格线的颜色:
      DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
      with (Sender as TDBGrid).Canvas do //画 cell 的边框
      begin
        Pen.Color := $00ff0000; //定义画笔颜色(蓝色)
        MoveTo(Rect.Left, Rect.Bottom); //画笔定位
        LineTo(Rect.Right, Rect.Bottom); //画蓝色的横线
        Pen.Color := clbtnface; //定义画笔颜色(兰色)
        MoveTo(Rect.Right, Rect.Top); //画笔定位
        LineTo(Rect.Right, Rect.Bottom); //画绿色
      end;
    end;

    用BDE中的table1未能通过,颜色没有隔行变化。  

  • 相关阅读:
    (8)FastDFS
    (7)文件上传
    (6)品牌新增
    数据仓库_MySQL(2)
    数据仓库_Linux(5)&MySQL(1)
    J哥说生产事故之僵尸进程
    J哥说生产事故之CPU爆表
    idea classpath
    (五)返回两个数组之间的差异
    (四)数组扁平化
  • 原文地址:https://www.cnblogs.com/beeone/p/1792366.html
Copyright © 2020-2023  润新知