1.即用moveto()
    lineto()
画了一些线段组成的图,我现在想擦了这些线段如何把一定区域的线段全部去除?2.我发现画了图之后,如果另外的form在上面遮了一下,拿开form,发现所遮住的图2.
就消失,如何使图不消失?

解决方案 »

  1.   

    Refresh()是清除画布。!!如果你只想清除一段的话,你可以记住坐标,再用与背景相同的颜色再画一下。这样,就把原来那段给画没了:)
      

  2.   

    1.即用moveto()
        lineto()
    画了一些线段组成的图,我现在想擦了这些线段如何把一定区域的线段全部去除?Form1.Canvas.Brush.Color := Form1.Color;
    Form1.Canvas.FillRect(Form1.Canvas.ClipRect);2.我发现画了图之后,如果另外的form在上面遮了一下,拿开form,发现所遮住的图2.
    就消失,如何使图不消失?把画图代码写在Form的OnPaint事件里,如果在这里写的话,你得加个公共变量判断是否画图还是清空图
      

  3.   

    1.用原有坐标、属性,再用pmxor(不是函数,是参数。)重新画一遍。
    2.用pmcopy画图就不会消失啦