想做个组件,实现:
1、输入col,row,在面板中出现col*row个单元格;
2、左右相邻单元格可以合并;
3、单元格中可以放入LABEL或者edit等控件。
组件想丛TPANEL中继承,问,画单元格用什么方法。

解决方案 »

  1.   

    你还是从DrawGrid来重新写,要不用第三房控件
      

  2.   

      DELPHI自帶一個STRINGGRID,就可翠做這個。當然你也可翠從盒子裏下載一個TMS系列組件,它裏面有一個非常好的ADVSTRINGGRID, 並且有源碼可翠學習
      

  3.   

    从TStringGrid继承,似乎会更容易实现你要的效果。
      

  4.   

    主要是:"2、左右相邻单元格可以合并;"
    这个该怎么做。
    从右边系列中:TStringGrid->TDrawGrid->TCustomDrawGrid->TCustomGrid->TCustomControl,
    我选哪个作为父类,然后重写哪个方法可以控制它的表格线。
      

  5.   

    算了,还是请教各位画线的好方法吧。比如:
    var
      cell: TRect;
    begin
      with cell do
      begin
        Left := 1;
        Top := 1;
        Right := 50;
        Bottom := 20;
        Canvas.MoveTo(Left, Top);
        Canvas.LineTo(Right, Top);
      end;
    end;对这样的代码,各位有没有自己在使用的比较好的类啊,谢谢了。
      

  6.   

    怎样使得grid无法获取焦点?
    获得焦点的时候,当前单元格的TRect的边线颜色会自动清除,且置上背景,非常讨厌。
      

  7.   

    var 
      cell: TRect; 
    begin 
      with cell do 
      begin 
        Left := 1; 
        Top := 1; 
        Right := 50; 
        Bottom := 20; 
        Canvas.Pen.Color:=clBlue;
        Canvas.MoveTo(Left, Top); 
        Canvas.LineTo(Right, Top); 
      end; 
    end;