procedure TForm1.Button1Click(Sender: TObject);
var
bitmap:TBitmap;
x,y:integer;
begin
    x:=0;
    y:=0;
    bitmap:=TBitmap.Create;
    bitmap.LoadFromFile('c:\aa.bmp');
    self.DBGrid1.Canvas.Draw(x,y,bitmap);
end;

解决方案 »

  1.   

    if state <>[] then
    beginend
    else
     begin
    stringgrid1.Canvas.Brush.Style:=bsclear;
    stringgrid1.canvas.copyrect(rect, bmp.canvas, rect);//bmp为所要加载的背景
    stringgrid1.canvas.textrect(rect, rect.left+2 , rect.top+2, stringgrid1.cells[acol, arow]);
    end;DBgrid也是同样的
      

  2.   

    procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    begin
    if state <>[] then
    begin
    end
    else
     begin
    stringgrid1.Canvas.Brush.Style:=bsclear;
    stringgrid1.canvas.copyrect(rect, bmp.canvas, rect);//bmp为所要加载的背景
    stringgrid1.canvas.textrect(rect, rect.left+2 , rect.top+2, stringgrid1.cells[acol, arow]);
    end;
    end;
    DBgrid也是同样的
    忘记告诉你在什么地方写了(onDrawCell)事件中写
      

  3.   

    1、设置DBGRID的
    DEFAULTDRAW=FALSE;
    2、在OnDrawColumecell事件中拷贝一块小矩形图到格子 
    但是DBGrid就是DBGrid,用来处理数据就行了嘛,何必搞得很花哨呢。