摘要载入中…    请稍等…












内容载入中…    请稍等…

如长时间看不到内容,请关闭浏览器,重新打开此页!

芯友首页 应用软件 编程开发 网络硬件 资源下载 动漫音乐 精美图库 芯友论坛 视频教程 电脑技术QQ群:72845454
 ★★photoshop学友-史上最强播放器★★
 位置:编程开发>Deiphi>Deiphi数据库编程
◎→ 本类最新
asp + sqlserver 分页方法(不用
在Delphi中用拼音首字符序列来实
在Delphi中实现多重查询
用DELPHI编程访问SQL SERVER数据
加密ACCESS数据库增加安全性
加密ACCESS数据库增加安全性
文本数据导入数据库的方法
◎→相关资源
C语言入门视频教程
C#编程WinForm入门视频
Asp.net入门视频教程下载
VC++编程视频教程下载
VB窗体文章
HTML入门教程
Deiphi实例教程
Deiphi窗体文章
Deiphi数据库编程
Deiphi网络编程
Deiphi图形图象文章
Deiphi系统文件
◎→ 热门资源
屏蔽“任务管理器”
Delphi开发旅游景点微机售票系统
Delphi开发旅游景点微机售票系统
Delphi编写后台监控软件
为什么创建VCL for .NET? -- De
为什么创建VCL for .NET? -- De
搜索字符串在流中的位置

实战Delphi数据网格色彩特效


日期:2008-10-20 22:09:25    来源:
   
 ·精简DELPHI数据库系统的补充 ·AutoCAD创建三维多边形网格对象
 ·Photoshop调色,制作阿宝色彩的练习 ·Photoshop滤镜巧制岩壁特效-2

实战Delphi数据网格色彩特效
  Delphi中的数据网格控件(TDbGrid)对于显示和编辑数据库中大量的数据起着十分重要的作用;然而,在使用数据网格控件的同时,也往往因为表格中大量的数据不易区分,而令操作者眼花缭乱。如何提高网格控件的易用性,克服它的此项不足呢?本文从改变数据网格的色彩配置角度,提出了一种解决办法。

  以下为数据网格控件的6种特殊效果的实现方法,至于数据网格控件与数据集如何连接的方法从略。

  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);

上述6种方法分别就数据网格控件的列和行的色彩进行了设置,读者可以根据自己的需要设置特效。该程序在Delphi5中测试通过。  [1]

用Delphi建立通讯与数据交换服务器—Transceiver技术剖析(下)(2)

取消Excel网格线

Photoshop照片处理教程:强化照片的色彩及美化

Photoshop滤镜巧制岩壁特效-1

--->腾讯QQ IP数据库 2007.05.13┊附带IP数据维护工具V1.1┊珊瑚虫精简绿色特别版
--->腾讯QQ IP数据库 2007.05.06┊附带IP数据维护工具V1.1┊珊瑚虫精简绿色特别版
--->QQ IP数据库 2006.6.13 珊瑚虫精简版
--->CIH破坏的硬盘数据修复工具
--->工程测量数据处理系统 V5.0
Tags:  数据 网格 色彩 特效
{$enumber$}
芯友网版权所有 1999-2006 | 著作权与商标声明 | 法律声明 | 服务条款 | 隐私声明 | 联系我们