我想将一个样式应用于列(在获取内容样式上),以便该列中的所有数字都颜色为所选样式。只是数字,没有别的。这意味着如果在文本短语中找到一个数字,它将变为彩色。这可能吗?
答案 0 :(得分:2)
不确定。使用像
这样的东西procedure TForm1.Column1StylesGetContentStyle(
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
AItem: TcxCustomGridTableItem; var AStyle: TcxStyle);
var
i: Integer;
begin
if TryStrToInt(ARecord.Values[Column1.Index], i) then
AStyle := cxStyle1;
end;
答案 1 :(得分:0)
这是粗略的代码,但应该让你朝着正确的方向前进。我认为它可能会在画布上略微重叠您的绘图,但您可以根据需要进行调整。您还需要进行调整,以便从字符串中解析出数字。
procedure TForm7.cxGrid1TableView1CustomDrawCell(Sender: TcxCustomGridTableView;
ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
var ADone: Boolean);
var Bounds : TRect;
begin
Bounds := AViewInfo.Bounds;
ACanvas.Font.Color := clRed;
ACanvas.TextOut(Bounds.Left, Bounds.Top, '123');
Bounds.Left := ACanvas.Canvas.TextWidth('123');
ACanvas.Font.Color := clGreen;
ACanvas.TextOut(Bounds.Left, Bounds.Top, 'abc');
ADone := True;
end;