首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DBGRID列标题颜色

DBGRID列标题颜色
EN

Stack Overflow用户
提问于 2014-05-21 22:56:12
回答 2查看 5.9K关注 0票数 2

我正在尝试更改Delphi XE6中DBGRID组件的特定列的标题单元格的颜色。当网格按某一列排序时,我经常绘制列标题。

代码语言:javascript
复制
DBGRID1.Columns[1].Title.Color := clBlue;

这个是可能的吗?或者有没有更好的方法来突出显示已排序的列?

EN

回答 2

Stack Overflow用户

发布于 2014-07-30 23:00:47

尝试覆盖procedure TCustomDBGrid.DrawCellBackground以强制标题的背景色:

代码语言:javascript
复制
procedure TMyDBGrid.DrawCellBackground(const ARect: TRect; AColor: TColor; AState: TGridDrawState; ACol, ARow: integer);
begin
  if (FLastSortedColumnIdx = ACol) and (ACol >= 0) and (ARow = -1) then
    AColor := Columns[ACol].Title.Color;

  inherited;
end;

FLastSortedColumnIdx是存储已排序列的Column.Index的字段。

应该可以在Delphi XE3中工作。

票数 1
EN

Stack Overflow用户

发布于 2022-02-09 09:36:36

好吧,如果我理解您的问题,您所需要做的就是将DBGrid DrawingStyle属性更改为gdsGradient,然后将gradentEndColorgradentStartColor更改为相同的颜色。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23786855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档