Delphi TDBGrid 当样式为gdsGradient时如何更改选定的颜色
我只是尝试使用delphi XE,在此之前我一直是Delphi7的忠实粉丝。
我看到新的 dbgrid 允许使用主题和渐变样式。
我正在使用渐变并设置行选择,它具有用于列标题的渐变开始和结束的属性。
但是设置选定颜色
的属性在哪里?
这很奇怪,因为颜色不匹配,选定的颜色
始终是蓝色渐变。
我可以用 customdraw
来做到这一点,我只是想知道是否有办法在没有自定义绘图的情况下更改它。
I'm just trying to use delphi XE, before that I've been a big fan of Delphi7.
I see the new dbgrid allows to use themed and gradient styles.
I'm using gradient and set rowselect, it has a property for gradient-start and -end for the column header.
But where is the property to set the selected color
?
It's strange because the color doesn't match, selected color
is always a blue gradient.
I can do it with customdraw
, I just want to know if there is anyway to change it without custom drawing.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
所选颜色来自操作系统。
在那里它被编码为
clHighlight
。您不能这样更改它,但您可以子类化 dbgrid 并重写 DrawCell 方法。
或者更容易添加一个
onDrawCell
事件处理程序。The selected color comes from the OS.
There it's coded as
clHighlight
.You cannot change it as such, but you can subclass the dbgrid and override the DrawCell method.
Or even easier add a
onDrawCell
eventhandler.