procedure TMainForm.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin with Sender as TDBGrid do begin if gdSelected in State then begin Canvas.Brush.Color := clRed; end else begin Canvas.Brush.Color := clWindow; end; Canvas.FillRect(Rect); DefaultDrawColumnCell(Rect, DataCol, Column, State); end; end;
procedure Tfrmprepare.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if gdSelected in State then begin (Sender as TDBGrid).Canvas.Brush.Color :=$000080FF; //当前选中单元格显示红色 DBGrid1.DefaultDrawColumnCell (Rect,DataCol,Column,State); end else begin //隔行改变网格背景色: if DBGrid1.DataSource.DataSet.RecNo mod 2 = 0 then (Sender as TDBGrid).Canvas.Brush.Color := $00EFF1FC //定义背景颜色 else (Sender as TDBGrid).Canvas.Brush.Color := $00F3EADE; //定义背景颜色 DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State); end; end;
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var RowHeight,Row,i:INteger; begin RowHeight := Rect.Bottom - Rect.Top+1; Row := (Rect.Top div RowHeight); if row mod 2= 0 then begindbgrid1.Canvas.Brush.Color:=$00F7FFFF ;// dbgrid1.Canvas.Font.Color:=clred; dbgrid1.Canvas.FillRect(rect); end else begindbgrid1.Canvas.Brush.Color:=$00FFF8F0;//dbgrid1.Canvas.Font.Color:=clblack; dbgrid1.Canvas.FillRect(rect); //dbgrid1.Canvas. end;if (state=[gdFocused,gdSelected] ) or (state=[gdSelected] ) then// or (state=[ gdFocused]) then begin // for i:=0 to dbgrid1.Columns.Count-1 do // begin dbgrid1.Canvas.Brush.Color:=clblue;dbgrid1.Canvas.Font.Color:=clWindow; dbgrid1.Canvas.FillRect(rect); // dbgrid1.Canvas.pen.mode:=pmmask; // end; end; dbgrid1.DefaultDrawColumnCell(rect,datacol,column,state); //DBGrid1.Canvas.TextRect( Rect, Rect.Left, Rect.Top, Column.Field.AsString); //dbgrid1.DefaultDrawColumnCell(rect,datacol,column,state); end;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
with Sender as TDBGrid do
begin
if gdSelected in State then
begin
Canvas.Brush.Color := clRed;
end else
begin
Canvas.Brush.Color := clWindow;
end; Canvas.FillRect(Rect);
DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
end;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if gdSelected in State then
begin
(Sender as TDBGrid).Canvas.Brush.Color :=$000080FF; //当前选中单元格显示红色
DBGrid1.DefaultDrawColumnCell (Rect,DataCol,Column,State);
end else
begin
//隔行改变网格背景色:
if DBGrid1.DataSource.DataSet.RecNo mod 2 = 0 then
(Sender as TDBGrid).Canvas.Brush.Color := $00EFF1FC //定义背景颜色
else
(Sender as TDBGrid).Canvas.Brush.Color := $00F3EADE; //定义背景颜色
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
end;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var RowHeight,Row,i:INteger;
begin
RowHeight := Rect.Bottom - Rect.Top+1;
Row := (Rect.Top div RowHeight);
if row mod 2= 0 then begindbgrid1.Canvas.Brush.Color:=$00F7FFFF ;// dbgrid1.Canvas.Font.Color:=clred;
dbgrid1.Canvas.FillRect(rect);
end
else begindbgrid1.Canvas.Brush.Color:=$00FFF8F0;//dbgrid1.Canvas.Font.Color:=clblack;
dbgrid1.Canvas.FillRect(rect);
//dbgrid1.Canvas.
end;if (state=[gdFocused,gdSelected] ) or (state=[gdSelected] ) then// or (state=[ gdFocused]) then
begin
// for i:=0 to dbgrid1.Columns.Count-1 do
// begin
dbgrid1.Canvas.Brush.Color:=clblue;dbgrid1.Canvas.Font.Color:=clWindow;
dbgrid1.Canvas.FillRect(rect);
// dbgrid1.Canvas.pen.mode:=pmmask;
// end;
end;
dbgrid1.DefaultDrawColumnCell(rect,datacol,column,state);
//DBGrid1.Canvas.TextRect( Rect, Rect.Left, Rect.Top, Column.Field.AsString);
//dbgrid1.DefaultDrawColumnCell(rect,datacol,column,state);
end;