关于设置dbgrid的颜色问题

hua_hero007 2004-01-07 09:49:11
当双击一条记录时改变该条记录的颜色,并且该条记录的颜色以后一直保持不变,
好像论坛上一般的DrawColumnCell事件画没有用,改变以后又会恢复回去的,分不够再加
...全文
61 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hua_hero007 2004-01-12
  • 打赏
  • 举报
回复
怎么没有人回答了??
deepWATERblue 2004-01-07
  • 打赏
  • 举报
回复
UP.
onebody 2004-01-07
  • 打赏
  • 举报
回复
//设置 网格 颜色
procedure SetDBGridBrushColor(var Ser:TObject;const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState;iiEdit:integer);
begin
case iiEdit of
1:begin
if (TDBGrid(Ser).DataSource.DataSet.RecNo mod 2=0) then
begin
TDBGrid(Ser).Canvas.Font.Color :=clBlack;
TDBGrid(Ser).Canvas.Brush.color:=clInfoBk;
end;
end;
2:begin
if (DataCol mod 2=0) then
begin
TDBGrid(Ser).Canvas.Font.Color :=clBlack;
TDBGrid(Ser).Canvas.Brush.color:=clInfoBk;
end;
end;
end;
if ((State = [gdSelected]) or (State = [gdFocused,gdSelected])) then
if not TDBGrid(Ser).SelectedRows.CurrentRowSelected then
begin
TDBGrid(Ser).Canvas.Font.Color :=clWindow;
TDBGrid(Ser).Canvas.Brush.Color:=clHighlight; //当前选中单元格显示红色
end;

TDBGrid(Ser).Canvas.Pen.Mode:=pmMask;
TDBGrid(Ser).DefaultDrawColumnCell(rect,datacol,column,state);
end;
bxh2dai 2004-01-07
  • 打赏
  • 举报
回复
才20分 啊
再多点啊,呵呵
其实就在DrawColumnCell事件里就可以达到你的目的

5,388

社区成员

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

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