我只知道我在这里做了一些非常愚蠢的事情,但我似乎无法弄清楚。
我第一次尝试在 DBGrid 中为单元格的背景着色,到目前为止我一直避免这样做。我有一个名为“Buttoncolour”的字段,它以“CCFFCC”的形式保存一个十六进制颜色。我还有另一列,我要着色的列,称为“ColourDescription”。我想使用十六进制颜色代码为“ColourDescription”单元格的画布着色。
我有这个代码:
procedure TProductForm.MDBGrid2DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TDBGColumn;
State: TGridDrawState);
var
CCol : String;
begin
if column.fieldname = 'ColourDescription' then begin
CCol := ProdGroupQuery.FieldByName('Buttoncolour').AsString;
Canvas.Brush.Color:= StringToColor(CCol);
end;
end;
我收到一个编译错误,告诉我某些东西不是整数值。我想我只是把整个事情弄错了。请各位好心人告诉我我应该做什么?
谢谢!