已经画了一个 椭圆
要想不再显示它,怎么编程解决啊

解决方案 »

  1.   

    你在什么上画的?
    如果是在Image上画的,它会把椭圆画到一个Bitmap上再显示,你只要把它清空就可以了。
    如果是在其它控件上画的,Repaint一下就行了。
      

  2.   

    是在image上画的,清空用什么函数,
    还有能不能就清楚那个椭圆,而不是清楚所有的东西啊
      

  3.   

    设置异或方式,Image1.Canvas.Pen.Mode := pmXor;
    Image1.Canvas.Ellipse(0, 0, 50, 50);
    ...
    Image1.Canvas.Ellipse(0, 0, 50, 50);
      

  4.   

    清除用 Image1.Canvas.FillRect(Image1.Canvas.ClipRect);
      

  5.   

    我写的程序
    还用lineto画了网格当坐标,重画后会影响我原来画的网格,
    唉,郁闷,
    难道delphi这么强大的工具,只有通过重画与背景色的才能把已经画的消除吗
      

  6.   

    放两个Image后面的画背景(和你不想擦除的东西),前面的画准备擦除的东西,Transparent属性要设为True.
    或者在一个Bitmap中保存背景(和你不想擦除的东西),在擦除时调用Image1.Picture.Bitmap := BKBitmap;
    或者改用PaintBox显示,把你要显示的数据保存在成员变量里,在OnPaint里画。擦除就是在变量中去掉你不要的东西,然后Repaint;
    总之办法多的是,想一想就有了。不要抱怨工具了,问题在于你使用工具的能力。