有onDrawCell事件,参数里给了所在的行列号,单元状态(固定,选中,聚焦),和网格区域,
用Canvas向里面画就是了

解决方案 »

  1.   

    void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
          int ARow, TRect &Rect, TGridDrawState State)
    {
            TCanvas *Cav = (TDrawGrid *)Sender->Canvas;
    //      下面在Cav中画就可以了,不过注意Rect范围。
    //      ...}
      

  2.   

    我提供源码如下:
    procedure TfrmMain.BitOKClick(Sender: TObject);
    var
      i,j:integer;
      MyImage:TImage;
    try
         MyImage:=TImage.Create(self);
         Rect:=stringgrid1.CellRect(j,i);//i,j指定你想画的某一cell(格)
         Myimage.Picture.LoadFromFile('c:\test.bmp'); //指定你要的位图
         stringgrid1.Canvas.Draw(Rect.Left,rect.Top,myImage.Picture.Graphic); 
    finally
         Myimage.Free;
    end;^_^,可要给我分哦……呵呵
      

  3.   

    DELPHI为一些控件提供了CANVAS属性,即可以作图的编程接口,实现你的作图需求基本
    在STRINGGRID 中的DRAWCELL事件中利用CANVAS作图就可以了