Shape控件可以绘出圆形、椭圆、正方形、矩形等。
现请教:可不可以修改Shape控件,绘制出其它图形,如弧形、扇形等,谢谢!

解决方案 »

  1.   


    谢谢!
    请问如何扩展?
    如:
    type
      TPersonalShapeType = (sstRectangle, sstSquare, sstRoundRect, sstRoundSquare,
                          sstEllipse, sstCircle);
    TPersonalShape = class(TGraphicControl)
      

  2.   

    扩展用TPersonalShape = class(Tshape)
    用TGraphicControl,那是你自己新定义的shape.
      

  3.   

    Canvas.Arc 画弧
    Canvas.Pie 画扇形
    不过看来你应该不会用了。教F1手册上的东西,在下没兴趣。
      

  4.   

    呵呵!这两个函数我还是知道的。
    我的思路是:改变Shape组件的Shape属性,达到目的。
    还请指教!
      

  5.   

    我觉得你直接从TGraphicControl继承得了,如果需要原来的那些线,你直接把Paint中的东西拷贝过去得了。
    事实上TShape根本就没干什么事,如果你从它继承的话,因为它发布了很多属性,搞得有些不方便,例如Shape属性。