在PaintBox的OnPaint事件中写画画的代码。

解决方案 »

  1.   

    但我要按一个BUTTON才画的,怎样写?
      

  2.   

    这很简单:
    在ButtonClick中写:
      CanDraw := True;
      PaintBox1.Invalidate;在PaintBox的OnPaint事件中写:
      if CanDraw then
      begin 
        // do paint things;
      end;
      

  3.   

    这需要你程序进行优化了,总之,必须在OnPaint中画画。否则,被遮住后就无法重绘。
      

  4.   

    这样真是麻烦。另外问问,为什么一个TPAINTBOX的VISIBLE设置成FALSE后,往它上面画东西仍然能够看到的?
      

  5.   

    要提高效率,在TBitmap上画,画完了用Bitblt弄到PaintBox上,这样可以有效的避免闪烁。
      

  6.   

    我现在用两个TIMAGE来做,一个做BUFFER,一个做界面,在界面上接收信息然后画到BUFFER上,再画回界面上。你觉得这样的方法可不可行呢?TBitMap、TPaintBox、TImage 之间有什么区别呢?