如何让DBGrid小三角所在的行永远底色是红色的?

解决方案 »

  1.   

    OnDrawColumnCell中设置
    Canvas.Font.Color
    然后来个DefaultDrawColumn
      

  2.   

    void __fastcall TMainFrm::Veh_DBGridDrawColumnCell(TObject *Sender, const TRect &Rect,
      int DataCol, TColumn *Column, TGridDrawState State)
    {
      /*
      if   (Table1.RecNo   mod   2)=0   then
              Dbgrid1.Canvas.Brush.Color:=clred;
          else
              Dbgrid1.Canvas.Brush.Color:=clblue;
      Dbgrid1.DefaultDrawColumnCell(Rect,   DataCol,   Column,   State);   */
      try
      {
     if(Veh_DBGrid->DataSource->DataSet->RecNo%2==0)
     {
      Veh_DBGrid->Canvas->Brush->Color=clSilver;
     }
     else
     {
      Veh_DBGrid->Canvas->Brush->Color=clSkyBlue;
         }
     //Veh_DBGrid->DefaultDrawColumnCell(Rect,DataCol,Column,State) ;  }
      catch(...)
      {
      //
      }
    }
    修改一下就可以实现你的功能了