说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

在Delphi中随意控制DBGrid 每一行的颜色

HTML文档下载 WORD文档下载 PDF文档下载
在Delphi中随意控制DBGrid 每一行的颜色

---- 要改变DBGrid每一行的颜色,只要在ONDrawColumnCell事件中设定要改变颜色的行的条件,并指定DBGrid的Canvas.Brush.color属性并且把Canvas.pen.mode属性设成pmmask,再调用DBGrid的DefaultDrawColumnCell方法即可。注意在改变这两个属性前要先保护好原来的Canvas.Brush.color属性的值,调节器用完成 DefaultDrawColumnCell方法后要把原属性值改回,现以Delphi\demos\db\clientmd 目录下的演示程序clintproj.dpr 为例子

做简单说明,下面是对程序中的栅格MemberGrid的合条件的整行进行变色,变成黑体背景黄色的,其它不合条件的行的颜色为正常字体,白色背景,只在DrawColumnCelL 事件中设条件其它的不变,如下:

procedure TClientForm.MemberGridDrawColumnCell(

Sender: TObject; const Rect: TRect;

DataCol: Integer; Column: TColumn;

State: TGridDrawState);

var

oldcolor:tcolor;

oldpm:tpenmode;

begin

if DM.ProjectTEAM_LEADER.Value =

DM.Emp_ProjEMP_NO.Value then {设定变色的行的条件}

MemberGrid.Canvas.Font.Style := [fsBold];

MemberGrid.DefaultDrawColumnCell

(Rect

DataCol

Column

State);

{上面是演示程序的原内容,以下是增加部分}

if DM.ProjectTEAM_LEADER.Value =

DM.Emp_ProjEMP_NO.Value then {设定变色的行的条件}

begin

oldpm:= MemberGrid.Canvas.pen.mode;

oldcolor:= MemberGrid.Canvas.Brush.color;

MemberGrid.Canvas.Brush.color:=clyellow;

MemberGrid.Canvas.pen.mode:=pmmask;

MemberGrid.DefaultDrawColumnCell

(Rect

DataCol

Column

State);

MemberGrid.Canvas.Brush.color:=oldcolor;

MemberGrid.Canvas.pen.mode:=oldpm;

end;

end;

一切为了用户体验:揭秘京东首页改版背后的故事 TIOBE 2015年4月编程语言排行榜:Java王者归来 三大主题技术峰会开幕在即 OpenCloud 2015参会者提醒 《近匠》快码,唯快不破的代码众包平台 打破边界 生态化反!乐视发布三款超级手机 苹果收购LinX:iPhone或将采用双摄像头技术 Google《Android性能优化》学习笔记 Amaze UI 2.3.0版本发布 整合多个第三方插件 专访Layabox创始人谢成鸿:Flash与HTML5结合的背后 高德推“LBS+”开放平台战略 整合位置大数据和云计算 CLion 1.0发布,C/C++跨平台集成开发环境 2015超实用的前端开发指南 期待吗?Linux 4.1将引入大量汇编代码变更! TSMC量产16FF+制程,Apple Watch或将采用Finfet技术 谷歌搜索引擎更新 移动端支持不好的网站排名将受影响 《近匠》格知GUECHI,设计师品牌让你离时尚更近 Apple Watch应用开发经验谈:我遇到的那些坑 约吗?UNITE 2015 BEIJING日程全揭晓! 谷歌扩擴增App搜索結果 已抓取300亿App页面 功耗、联网与交互:可穿戴设备操作系统问题解读 李大学离职京东后:转做投资人,助传统产业“互联网+”转型 Skype Translator实现中英实时语音对话 语音翻译领域又一新突破 如何判断自己是否适合自由职业? 创造·连接·成就:UNITE 2015 BEIJING圆满落幕 IT互联网人才招聘市场特点:人少钱多疯狂抢? React Native并非原生 Instagram Apple Watch应用设计师:对原有App全部重新思考 腾讯网移动端H5页面设计实战分享 Kendo UI和AngularJS常见问题解析 Elevator.js:模拟电梯运行的“返回顶部”JS插件 Java,传奇的一生! 大家中秋快乐,有关内存的释放问题,急急... 送分贴,翻译 更改文件属性的API如何定义? 谁能告诉我这是怎么回事?? treeview显示不正常 Applet问题 Asp程序无法访问远程XML文件 想建立一个公司内部的拔号服务器,像163/169那样?? 问两个简单的C语言问题 如何控制IE的工具条,比如刷新按钮! applet显示问题 新手:关于GDI,怎样取窗口非Client区域的DC? 使用asp连接webservice,实现短信的插入,发送,2003操作系统msxml3.dll 错误 '8000000a' ,2000没事 DataSet或DataView中如何实现类似数据库命令 LIKE 的筛选功能? 如何删除ini中的某个Section 祝大家中秋节快乐!怎么在日志组中增加日志文件?? 使用5xsoft upload组件上传到服务器时,如何检查里面是否包含危险代码? 中秋快乐,关于内存释放问题 内存分配存在的问题 怎么设计ADSL的路由!! javaben的释放问题 用NMUDP如何在Client端和Server端之间传递对象呢? 为什么程序员没人爱? 指点迷津啊??? 关于DataGrid的一个问题 VCD碟的.DAT文件转换成MPEG格式? 中秋节快乐!散!顺便问一下大家都吃什么品牌的月饼?五点钟准时结贴!!!!!!!!!!!! 求助!!!鲁文易盘无法驱动 如何获取提交表单的内容 Ado 问题 oracle中删除一个用户,用语法如何写 北京的兄弟们你们找工作通过哪几种方式 请问哪儿有cobol的编译器? 请问考系分的兄弟,都在看什么辅导书啊? 不能解决的给分,解决的给钱,时间限制在,13日之前!!!!!!!!!!!! 如何重新定义超连接的样式? ini和注册表能不能一起用? 调制解调器 SYNC灯不亮。 hehe GCC不认识sockaddr_in,但认识sockaddr,哪位大侠指点一下是什么地方没有配置好 asp中的过程和函数是否可以传递两个以上的参数? 假设我在dataGrid中的修改某一个单元格内容之后,焦点还没有离开,再去保存,就保存不了! 求助!!!鲁文易盘无法驱动,急!!!!!!!!!! 为什么只能用localhost访问? 还是烦人乱码问题~~JSP 连不上网。 人家说我有热情没天分,当不了程序员 中秋节给大家助助兴,小游戏一只,最终获胜的可获全部分数,100大分哦! 简单问题,急! 请教零长度问题(不好意思没分了救命啊) 请教零长度问题(不好意思没分了救命啊) 用最简洁的文字说明‘谁是卧底’怎么玩 喇叭的发声过程是怎样的? 请问扬声器是怎样发声的 没想明白如果空间四点ABCD共面而不共线,那么这四点中()A.必有三点共线 B.必有三点不共线 C.至少有三点共线 ...D.不可能有三点共线 我想到的这2种情况 ..... 世博会的主要形式是什么? 世博会主要有哪些形式? 扬声器通过什么发声 什么是保外就医的条件? “人皆可以为尧舜”的意思是什么(详细一点) 人皆可以为尧舜 亦为之而已矣的为是什么意思 若菱形的周长为l,面积为S,则菱形的较小内角的正弦为如题 美媒:中国海军借反海盗行动获远洋经验美国毒贩修隧道铺轻轨快速运毒 通往墨湖南岳阳三姐弟上学途中遭绑架杀害 嫌苏格兰女法医揭秘连环凶杀案 数十桩悬16岁少年蜗居桥下一个月 以废弃席梦福建商人遭老乡绑架 交付185公斤黄河北超生女婴被抱走追踪:家属称有人欲成都10岁小学生跳楼自杀 班主任殡仪下周起北京供暖热线“12319”全天中国珠算韩国泡菜等备选人类非物质文化富二代驾玛莎拉蒂对飙法拉利 追尾面包人社部部长:延迟退休方案已完成 将向经期不能洗头发?女性月经期有六不宜美国大选时 正是非农引领“超级周”多重利好叠加 智慧能源逆势而上招工旺季诈骗来袭 求职者避免落入陷阱FXDD CEO在纽约被逮捕,他竟然20万能买到的豪华车,值吗?这一轮房价上涨,背后发生了什么?K线+量能,教你如何融会贯通!爆个料:产能女与创业男の相亲记仅重590g的16通道激光雷达传感器我的同居生活当男人遇上女人亲爱的桃色少妇幽灵四艳大话西游2的三世生涯龙凤呈祥法国中尉的女人左妓情动天下(全本)眉姐:叫我小男人的那少妇爱情与欲望的岁月观花楼旅游曹州牡丹园旅游别传禅寺旅游翔龙湖旅游鬼子寨旅游猴王寨旅游莽山自然博物馆旅游花山谜窟旅游瀛湖旅游香溪洞旅游华严寺旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘