我想在dbgrid正常连接数据库后,其指针指向的那一行用另外的一种顔色显示。请指教!!!

解决方案 »

  1.   

    (14).改变Dbgrid的选定色。
        procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
        Field: TField; State: TGridDrawState); 
        begin
          if gdSelected in state then
          SetBkColor(dbgrid1.canvas.handle,clgreen)
          else
          setbkcolor(dbgrid1.canvas.handle,clwhite);
          dbgrid1.Canvas.TextRect(rect,0,0,field.AsString);
          dbgrid1.Canvas.Textout(rect.Left,rect.Top,field.AsString);
        end;
      

  2.   

    procedure Tfmwait.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    begin
      Case dm.clientdataset1.RecNo mod 2 = 0 of //file://根据数据集的记录号进行判断
      True : DbGrid1.Canvas.Brush.color:=clmoneygreen;// file://偶数行用浅绿色显示 file://奇数行用蓝色表示
    end;
    if ((State = [gdSelected]) or (State=[gdSelected,gdFocused])) then //file://选中行用红色显示
      DbGrid1.Canvas.Brush.color:=clred;
      DbGrid1.Canvas.pen.mode:=pmMask;
      DbGrid1.DefaultDrawColumnCell (Rect,DataCol,Column,State);  
    end;