大致是如下的意思,改变TDBGird的颜色
if (TDBGrid(Sender).DataSource.DataSet.RecNo Mod 2)=0 then
TDBGrid(Sender).Canvas.Brush.Color:=RGB(200,0,100)
else
TDBGrid(Sender).Canvas.Brush.Color:=RGB(100,150,50);
if State.Contains=gdSelected then
begin
TDBGrid(Sender).Canvas.Brush.Color:=RGB(100,100,20);
TDBGrid(Sender).Canvas.Font.Color:=clWhite;
end;
if (TDBGrid(Sender).DataSource.DataSet.RecNo Mod 2)=0 then
TDBGrid(Sender).Canvas.Brush.Color:=RGB(200,0,100)
else
TDBGrid(Sender).Canvas.Brush.Color:=RGB(100,150,50);
if State.Contains=gdSelected then
begin
TDBGrid(Sender).Canvas.Brush.Color:=RGB(100,100,20);
TDBGrid(Sender).Canvas.Font.Color:=clWhite;
end;
begin
TDBGrid(Sender).Canvas.Brush.Color:=TColor(RGB(200,0,100));
end
else begin
TDBGrid(Sender).Canvas.Brush.Color:=TColor(RGB(100,150,150));
end;
if gdSelected in state then //我想这段代码应该在Grid 的OnDrawDataCell或OnDrawColumnCell中才行。
begin
TDBGrid(Sender).Canvas.Brush.Color:=TColor(RGB(100,150,150));
TDBGrid(Sender).Canvas.Font.Color:=clWhite;
end;
begin
TDBGrid(Sender).Canvas.Brush.Color=RGB(200,0,100);
end
else
begin
TDBGrid(Sender).Canvas.Brush.Color=RGB(100,150,50);
end;
if gdsSelected in State then
begin
TDBGrid(Sender).Canvas.Brush.Color=RGB(100,100,210);
TDBGrid(Sender).Canvas.Font.Color=clWhite;
end;
State 是一个集合类型的东西,C++里面没有他们谁用类来实现的!