小问题,关于DBGrid字和底色颜色(300分)

  • 主题发起人 主题发起人 tinytao
  • 开始时间 开始时间
T

tinytao

Unregistered / Unconfirmed
GUEST, unregistred user!
我在DBGrid的 OnDrawColumnCell 写了如下代码;

procedure TfrmMain.dbgTableDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
begin
with TDBGrid(Sender) do
begin
if ((DataSource.DataSet.RecNo mod 2)=0) then
Canvas.Brush.Color:=$00F3DDA0
else
Canvas.Brush.Color:=$00FFECC4;
DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
end;

当选一个的Cell, 字是白色,底色也是白色,字看得不清楚,
为什么默认Cell选中时可以,字是白色,底色是深蓝色。

我如何改变Cell选中的默认值,使选中的Cell字和底色可以是任意颜色。
 
先判断是不是画选择的单元再设置颜色:
if gdSelected in State then
begin
Canvas.Brush.Color := clRed;
Canvas.Font.Color := clWhite;
end;
 
后退
顶部