首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

DBGrid如何重绘

2012-11-03 
DBGrid怎么重绘?类似这样的效果,发现和stringgrid不一样.[解决办法]这是调整后的颜色,你改为自己喜欢的颜

DBGrid怎么重绘?


类似这样的效果,发现和stringgrid不一样.

[解决办法]
这是调整后的颜色,你改为自己喜欢的颜色就OK了

C/C++ code
void __fastcall TForm1::DBGrid1DrawColumnCell(TObject *Sender,      const TRect &Rect, int DataCol, TColumn *Column,      TGridDrawState State){   class   TMyGridBase   :   public   TCustomGrid   {      public:      __property   Row;   };   class   TMyGrid   :   public   TCustomDBGrid   {     public:     __property   DataLink;   };   TMyGrid *MyGrid = (TMyGrid*)DBGrid1;   TMyGridBase *MyGridBase = (TMyGridBase*)DBGrid1;   TDBGrid *Grid = (TDBGrid*)Sender;   if(MyGrid->DataLink->ActiveRecord == MyGridBase->Row-1)   {    //当前行      Grid->Canvas->Font->Color = clRed;     Grid->Canvas->Brush->Color = clBlue;   }   else   {      Grid->Canvas->Font->Color = clBlack;      Grid->Canvas->Brush->Color = clWhite;   }   DBGrid1->DefaultDrawColumnCell(Rect,DataCol,Column,State);}
[解决办法]
探讨
原来是这样判断啊,为什么你改过之前标题栏的外观也不一样的,原来我的像是WIN98的那种,你改完之后像是XP的.

[解决办法]
探讨
如果要离线这一行整行显示红色的背景色那要怎么办,现在只有这一个单元格是红色的.

热点排行