TDBGrid控件设置背景色
1.给获得焦点的单元格换上好看的色彩
程序开始:
////////////////////////////////////////////////////////////////////////
//在该事件中写上代码就可以了,
procedure TMainForm.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if gdfocused in state then //获得焦点的单元格
begin
dbgrid1.Canvas.Brush.Color := clred; //设置填充该单元格为红色
dbgrid1.canvas.FillRect(rect); //填充该区域
dbgrid1.Canvas.Font.Color := clblack; //设置单元格中的字体为黑色
//把文字绘制到该单元格中
dbgrid1.Canvas.TextOut(rect.Left,rect.Top,adoquery1.FieldValues['id']);
end;
end;
2.给DBGrid控件的不同行设置不同的色彩
程序开始:
///////////////////////////////////////////
//也可以在该事件中编写代码
procedure TMainForm.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if dbgrid1.DataSource.DataSet.RecNo mod 2 = 0 then //偶数行
begin
dbgrid1.Canvas.Brush.Color := clred; //偶数行为红色
end else
begin
dbgrid1.Canvas.Brush.Color := clblack;//奇数行为黑色
end;
//////////////////////////////////////////////////////////
//注:此行代码一定要加上,否则实现不了
dbgrid1.DefaultDrawColumnCell(rect,datacol,column,state);
end;
浙公网安备 33010602011771号