设置Dbgrid的DBGrid1DrawDataCell事件中添加如下代码:
dbgrid1.Canvas.Font.Color:=clgreen;
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);
dbgrid1.Canvas.Font.Color:=clgreen;
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);
解决方案 »
- 数组参数长度定义出错
- 求教format或formatfloat使用问题,怎样将ADOQuery1.FieldByName('总金额').AsFloat))进行格式化输出
- 我的ReadWorld聚合新闻阅读器2.0发布了,欢迎下载源码
- 我只知道vc的struct的使用,不知道 delphi的record如何捣腾,请高人指点。
- 一打开dpr文件就出错Access violation at address 4000586A in module ‘rtl60.bpl’. Read of address 400A1004
- 函数调用的时候,参数少写一个,仍能成功调用,为什么???
- ADO问题,请帮帮忙!
- 怎样把一个长日期格式的DateTime型变量至成longint长整型变量?
- 用VB能生成元胞自动机么?
- 做个调查。到底有多少人在用DELPHI6!?有多少人回到DELPHI5?
- 的确是高手,那么怎样打开一个exceel(*.xls)文件呢?
- 如何把程序编译为只有一个EXE的文件?(对不起,我的分发光了!)
如果使用query查处某些符合条件的记录,在dbgrid里面如何对找出的这些行设置颜色?
Field: TField; State: TGridDrawState);
begin
if DBGrid1.DataSource.DataSet.RecNo = 2 then begin
DBGrid1.Canvas.Brush.Color := clred ;
DBGrid1.Canvas.FillRect (rect);
dbgrid1.Canvas.Textout(rect.Left,rect.Top,field.AsString);
end
else begin
DBGrid1.Canvas.Brush.Color := clblue ;
DBGrid1.Canvas.FillRect (rect);
dbgrid1.Canvas.Textout(rect.Left,rect.Top,field.AsString);
end ;
end;