这个好做,我有一个办法,你定一个全局变量,用来保存当前的列。在点击表头时,置这个变量为某列。 然后在DBGRID的var clBack : TColor; begin clBack := (Sender As TDbGrid).Canvas.Brush.Color; With Sender As TDbGrid do begin //在这里判断列。就可以了。 begin Canvas.Brush.Color := cllime; end else if (gdSelected) in State then begin (Sender As TDbGrid).Canvas.Brush.Color := clblue; end else begin Canvas.Brush.Color := clBack; Canvas.Font.Color := clblack; end;end;
然后在DBGRID的var
clBack : TColor;
begin
clBack := (Sender As TDbGrid).Canvas.Brush.Color;
With Sender As TDbGrid do
begin
//在这里判断列。就可以了。
begin
Canvas.Brush.Color := cllime;
end
else if (gdSelected) in State then
begin
(Sender As TDbGrid).Canvas.Brush.Color := clblue;
end
else
begin
Canvas.Brush.Color := clBack;
Canvas.Font.Color := clblack;
end;end;
忘记说事件了。