zoukankan      html  css  js  c++  java
  • Delphi中DBGrid行列颜色设置

    1.   纵向斑马线效果:实现网格的奇数列和偶数列分别以不同的颜色显示,以区别相邻的数据列。  
       
        file://在DbGrid的DrawColumnCell事件中编写如下代码:  
       
        Case   DataCol   Mod   2   =   0   of  
       
         True:   DbGrid1.Canvas.Brush.Color:=   clBlue;   file://偶数列用蓝色  
       
         False:   DbGrid1.Canvas.Brush.Color:=   clAqua;   file://奇数列用浅绿色  
       
        End;  
       
        DbGrid1.Canvas.Pen.Mode:=pmMask;  
       
        DbGrid1.DefaultDrawColumnCell   (Rect,   DataCol,   Column,   State);  
       
       
      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;  
       
       
       
        5.横向斑马线,   同时以红色突显当前行效果。    
        file://其它属性设置同3,将上述代码修改为:  
       
        Case   Table1.RecNo   mod   2   =   0   of   file://根据数据集的记录号进行判断  
       
         True   :   DbGrid1.Canvas.Brush.color:=clAqua;   file://偶数行用浅绿色显示  
       
         False:   DbGrid1.Canvas.Brush.color:=clblue;   file://奇数行用蓝色表示  
       
        end;  
       
        if   ((State   =   [gdSelected])   or   (State=[gdSelected,gdFocused]))   then   file://选中行用红色显示  
       
         DbGrid1.Canvas.Brush.color:=clRed;  
       
         DbGrid1.Canvas.pen.mode:=pmMask;  
       
         DbGrid1.DefaultDrawColumnCell   (Rect,   DataCol,   Column,   State);  
       
        6.双向斑马线效果:即行间用不同色区分,同时,选中行以纵向斑马线效果区分不同的列。  
       
        file://其它属性设置同3,将上述代码修改为:  
       
        Case   Table1.RecNo   mod   2   =   0   of   file://根据数据集的记录号进行判断  
       
         True   :   DbGrid1.Canvas.Brush.color:=clAqua;   file://偶数行用浅绿色显示  
       
         False:   DbGrid1.Canvas.Brush.color:=   clblue;   file://奇数行用蓝色表示  
       
        end;  
       
        If   ((State   =   [gdSelected])   or   (State=[gdSelected,gdFocused]))   then  
       
        Case   DataCol   mod   2   =   0   of  
       
         True   :   DbGrid1.Canvas.Brush.color:=clRed;   file://当前选中行的偶数列用红色  
       
         False:   DbGrid1.Canvas.Brush.color:=   clGreen;   file://当前选中行的奇数列用绿色表示  
       
        end;  
       
        DbGrid1.Canvas.pen.mode:=pmMask;  
       
        DbGrid1.DefaultDrawColumnCell   (Rect,   DataCol,   Column,   State);  
  • 相关阅读:
    Caused by: Unable to load bean: type:com.opensymphony.xwork2.ObjectFactory class:org.apache.struts2.
    走到头儿的外企之路——北漂18年(45)
    [ERROR] XML Parser Error on line 11: 注释中不允许出现字符串 "--"
    Unknown lifecycle phase "mybatis-generator-generate"
    org.eclipse.wst.xsl.jaxp.debug.invoker.TransformationException
    windows expect-5.21r1b1-setup.exe 下载链接
    linux下C语言实现静态IP地址,网关的设置
    OpenSSL “心脏滴血”漏洞
    linux 让root用户可以telnet
    perl 创建文本框
  • 原文地址:https://www.cnblogs.com/chenbg2001/p/1604917.html
Copyright © 2011-2022 走看看