菜鸟问题怎样把 DBgrid的当前记录的底色变成红色而其他记录底色不变?

pasud5 2001-11-10 04:19:45
...全文
77 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
pasud5 2001-11-10
  • 打赏
  • 举报
回复
没人知道吗?
pasud5 2001-11-10
  • 打赏
  • 举报
回复
但是我是希望,当鼠标双击的时候才把它变红的哦
Bob7946 2001-11-10
  • 打赏
  • 举报
回复
就是Dbgrid的DBGrid1DrawDataCell事件中的State:
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
...
中的State,是TGridDrawState类型的
pasud5 2001-11-10
  • 打赏
  • 举报
回复
state是什么?
Bob7946 2001-11-10
  • 打赏
  • 举报
回复
设置Dbgrid的DBGrid1DrawDataCell事件中添加如下代码:
if gdSelected in state then
SetBkColor(dbgrid1.canvas.handle,clred)
else
setbkcolor(dbgrid1.canvas.handle,clwhite);
dbgrid1.Canvas.TextRect(rect,0,0,field.AsString);
dbgrid1.Canvas.Textout(rect.Left,rect.Top,field.AsString);

5,388

社区成员

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

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