DBgride 中,我选择一行数据,
 背景色是深蓝的,
 我想改变选择的背景颜色, 用什么属性,或者怎么写代码控制

解决方案 »

  1.   

    在DrawDataCell事件中处理
    代码怎么写,能不能给点提示
      

  2.   

    在Canvas上画,DrawDataCell事件会提供一个Rect,把这个Rect画上所需颜色就成了。
      

  3.   


    procedure TForm1.DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    begin
      if gdselected in State then
        self.DBGrid2.Canvas.Brush.Color:=clRed
      else
        Self.DBGrid2.Canvas.Brush.Color:=clWindow;
      self.DBGrid2.Canvas.Pen.Mode:=pmMask;
      self.DBGrid2.DefaultDrawColumnCell(Rect,DataCol,Column,state);
    end;
      

  4.   


    procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;Field: TField; State: TGridDrawState); 
    begin 
      if Table1.RecNo mod 2 =0 then 
        DBGrid1.Canvas.Brush.Color:=ColorGrid1.ForeGroundColor   DBGrid1.Canvas.Brush.Color:=ColorGrid1.BackGroundColor; 
      DBGrid1.Canvas.FillRect(Rect); 
      DBGrid1.Canvas.TextOut(Rect.left+2,Rect.top+2,Field.AsString); 
    end;