如何根据条件改变delphi中TcxGrid控件显示框的背景颜色?

2025-05-17 12:35:37
推荐回答(4个)
回答1:

选中cxgrid右下角的cxGrid1DBTableView1,在属性框内找到styles->background,选择,(这个时候,生成了一个新的控件cxStyleRepository1,这个待会讲) 这个时候你发现background下面多出了几个属性,选择color就可以填写你的颜色了。这个时候cxgrid的背景色就是你填的颜色
关于新的控件cxStyleRepository1,你可以在style选项卡中里面再新增很多样式,每一个样式都可以设置颜色。那么这些颜色都可以使用了.而在 style sheets中可以设置组合样式(这些样式来自你在style中的设置)达到真正的重复使用的效果,你选择一个或者多个都行(假如我设置了一个新的样式,那么我在cxgrid中选择选cxGrid1DBTableView1,在属性框内找到styles->background->stylesheet,选择style sheets中的名字,就能将这些颜色一次性全部设置好)
【另】如果你要动态的设置某一个单元格的颜色,你可以选中cxGrid1DBTableView1,
在事件OnCustomDrawCell中写事件。假如我要第一个栏位的字符是0的这个字变成红色,我可以在事件中写:
if (AViewInfo.GridRecord.DisplayTexts[0]='0') then
begin
{这个是RGB格式表示的,你也可以写clRed,也可以用16进制写,反正随便了}
ACanvas.Font.Color:=RGB(255,0,0);
ACanvas.Font.Style:=[fsBold];//粗体
end;

语言组织不是特别好,不知道看懂不,希望对你有帮助!

回答2:

选中cxgrid右下角的cxGrid1DBTableView1,在属性框内找到styles->background,选择,(这个时候,生成了一个新的控件cxStyleRepository1,这个待会讲) 这个时候你发现background下面多出了几个属性,选择color就可以填写你的颜色了。这个时候cxgrid的背景色就是你填的颜色
关于新的控件cxStyleRepository1,你可以在style选项卡中里面再新增很多样式,每一个样式都可以设置颜色。那么这些颜色都可以使用了.而在 style sheets中可以设置组合样式(这些样式来自你在style中的设置)达到真正的重复使用的效果,你选择一个或者多个都行(假如我设置了一个新的样式,那么我在cxgrid中选择选cxGrid1DBTableView1,在属性框内找到styles->background->stylesheet,选择style sheets中的名字,就能将这些颜色一次性全部设置好)
【另】如果你要动态的设置某一个单元格的颜色,你可以选中cxGrid1DBTableView1,
在事件OnCustomDrawCell中写事件。假如我要第一个栏位的字符是0的这个字变成红色,我可以在事件中写:
if (AViewInfo.GridRecord.DisplayTexts[0]='0') then
begin
{这个是RGB格式表示的,你也可以写clRed,也可以用16进制写,反正随便了}
ACanvas.Font.Color:=RGB(255,0,0);
ACanvas.Font.Style:=[fsBold];//粗体
end;

语言组织不是特别好,不知道看懂不。

回答3:

应该是在Drawcell中写Canvas

回答4:

专业不一样