如何在tdrawgrid的各个cell中画个圆,然后再写字。用DrawCell事件。

解决方案 »

  1.   

    混点分~~~~~~~~~~~~~var CurCol,CurRow:integer;//用与记录当前行、列 procedure TfrmMain.DrawGridMouseUp(Sender: TObject; Button: TMouseButton; 
      Shift: TShiftState; X, Y: Integer); 
    begin 
      TDrawGrid(Sender).MouseToCell(X, Y,CurCol,CurRow); 
    end; procedure TfrmMain.DrawGridDrawCell(Sender: TObject; ACol, ARow: Integer; 
      Rect: TRect; State: TGridDrawState); 
    var 
      Text:String; 
    begin 
      with Sender as TDrawGrid do 
      begin 
        //ImageList1.Draw(Canvas,Rect.Left,Rect.Top,图形序号数组[ACol,ARow]); 
        Canvas.Ellipse(...);//画圆 
        Canvas.Rectangle(...);//画方  
        Canvas.Font.Size:=9; 
        Canvas.Font.Color:=clBlue; 
        Text:='要写的字'; 
        Canvas.TextOut(Rect.Left,Rect.Top,Text);//写字 
      end; 
    end; 
      

  2.   

    非常感谢tommy_linux(津工之鸟),怎么给分?
    不知道还有没有需要特别注意的地方。如果在不同的cell中
    画不同颜色的图形呢?