我在paintbox上画图,现在我想保持paintbox上半部分的图不变,下半部分重画。我该如何只刷新下半部分呢?注意只有一个paintbox,上半部分不能重画。我高手指点。

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      with PaintBox1 do
      begin
        Canvas.MoveTo(0,0);
        Canvas.LineTo(Width, Height);
      end;
    end;procedure TForm1.Button2Click(Sender: TObject);
    var
      R : TRect;
    begin
      R := PaintBox1.BoundsRect;
      R.Top := R.Top + PaintBox1.Height div 2;
      InvalidateRect(Handle,@R,True);
    end;
      

  2.   

    定义二个TBitMap
    上面的是一个,下面的是一个,在ONPaint事件里加载这二个图片;
    你可以分开控制每个BitMap的图象,