我尝试过很多种办法,用Panel切割,但在Panel用Canvas.LineTo绘制线条并 移动 时线条会自动消失,我也试过用TGraphicControl新建组件绘制图形,但没有Handle ,不能切割,请高指点指点

解决方案 »

  1.   

    自己写一个组件。随便从一个现成的组件继承下来,如TCustomPanel. 然后自己加上一个Canvas.
    就可以了。想怎么画就怎么画。  TMyShape = class(TCustomPanel)
      private
        ......
        FCanvas: TCanvas;
        ......
      protected
      public
        ......
        property Canvas: TCanvas read FCanvas;
        ......
      published
        ....
      end;  constructor TMyShape.Create(AOwner: TComponent);
      begin
        inherited Create(AOwner);
        FCanvas := TCanvas.Create;
      end;
      

  2.   

    用SetWindowRgn 切割后移动会产生闪烁,我已经设置了panel1.DoubleBuffered := True;
      

  3.   

    从TCustomPanel继承下来的还需要创建一个Canvas吗,其父类TCustomControl已经有Canvas了。直接用就可以了。
      

  4.   

    说得没错,我查过,真的有Canvas的,非常谢谢,正在试验中...
      

  5.   

    我试过,不能用Canvas,Panel本身都不能用Canvas,怎么办呢?高手在哪里??
      

  6.   

    你可以给maozefa(阿发伯)发个短信,请求支援。他是图形图象方面的绝对高人。