在DBGRID中某个字段的记录中画矩形,矩形的颜色根据这个字段的数据变化(该字段保存的是颜色值)。
http://bbs.2ccc.com/topic.asp?topicid=195469这个地址上有图。请大家帮帮忙。

解决方案 »

  1.   

    根据这个原理自己做适当的处理。procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    var
      ARect: TRect;
    begin
      if DataCol <> 5 then exit; //如果不是颜色列  if Column.Field.AsString <> '' then
       DBGrid1.Canvas.Brush.Color:= StringToColor(Column.Field.AsString);//从字段读取颜色   {让颜色效果居中}
       ARect := REct;
       ARect.Left := (ARect.Left + ARect.Right) div 2;
       ARect.Right := ARect.Left + 16;
       ARect.Bottom := ARect.Top + 16;  DBGrid1.DefaultDrawColumnCell(ARect, DataCol, Column, State);
    end;