delphi如何在TDBGrid奇偶行显示不同的颜色,即隔行换颜色

qlonsh 2007-12-03 03:36:59
delphi如何在TDBGrid奇偶行显示不同的颜色,即隔行换颜色
...全文
269 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hmzgz81 2007-12-03
  • 打赏
  • 举报
回复
这种问题用搜索一下一大堆帖子!


下面这个是在大富翁上搜出的:

这是让DBGrid隔行的颜色不同
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if( gdSelected in State)then
//如果是被选中的
begin
DBGrid1.Canvas.Brush.Color:=clBlue;
//选中的背景色为clBlue
DBGrid1.Canvas.Font.Color:=clYellow;
//选中的字体颜色为clYellow
end
else
if self.DataSource1.DataSet.RecNo mod 2=1 then
//用self.DataSource1.DataSet.RecNo mod 2
//来判断行数产生隔行
DbGrid1.Canvas.Brush.Color:=clRed
else
DBGrid1.CanVas.Brush.Color:=clWhite;

DBGrid1.DefaultDrawcolumnCell(rect,DataCol,Column,State);
//其他默认
end;

luoye96 2007-12-03
  • 打赏
  • 举报
回复
for(int i=0;i <DBGrid1.Columns.Count;i++)
{
if(i%2==0)
DBGrid1.Columns.Items[i].Color=clAqua;//颜色一
else
DBGrid1.Columns.Items[i].Color=clInfoBk;//颜色二
}
luoye96 2007-12-03
  • 打赏
  • 举报
回复

for(int i=0;i<DBGrid1.Columns.Count;i++)
{
if(i%2==0)
DBGrid1.Columns.Items[i].Color=clAqua;
else
DBGrid1.Columns.Items[i].Color=clInfoBk;
}

5,928

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧