procedure TForm1.Button2Click(Sender: TObject);
var
  MyCanvas: TControlCanvas;
begin
  MyCanvas:=TControlCanvas.Create;
  Mycanvas.control:=memo1;//想在memo1上作画
  With Mycanvas do
  Begin
   pen.color:=clyellow;
    begin
      Brush.Color := clBtnFace;  //
      MoveTo ( 33, 0 );
      Brush.Color := clWhite;  // 
      LineTo ( 33, ClientHeight );
    end;
End;  
end;
使 用CANVAS 时: 当 窗 口 进 行 重 画 时, 画 布 上 的 图 像 将 消 失, 比 如 当 窗 口 进 行 最 小 化 又 重 新 恢 复 时, 就 会 引 起 画 布 上 图 像 的 消 失, 
//如何解决上述“图像消失”的问题???如何实现win2000性能中监视cpu 、内存的所画的的曲线

解决方案 »

  1.   

    用MyCanvas.Reflash;
      MyCanvas.Update;
      

  2.   

    把事件写在Form的OnPaint事件中. 问题就解决了.
      

  3.   

    对,我也遇到同样的问题,如果可以用别的代替,如线条等,可以用image控件将事先做好的调出来,更好的方法可以用TShape,用它画的线条不会"消失"!其实在Cavas中有个方法是可以解决此问题,小弟才疏学钱,没去研究,找了个变通的办法!你不防一试!
      

  4.   

    : Wnyu(西门吹水) 
    那先前画的是不是还有!,我希望以前画得也不能删掉,照常显示!!!!!
      

  5.   

    我想把它放到timer事件里的 不想放到paint里!!!
      

  6.   

    放在Timer中当然可以, 但可能会浪费计算机的资源.
      

  7.   

    首先要明白一点,你必须时刻保存图像相关信息这样才可能响应WM_PAINT消息,进行窗体上的内容重绘
      

  8.   

    win2000性能中监视cpu 、内存的所画的的曲线//如何实现???
      

  9.   

    : DelphiStudy(枫) 您的方法好像不行!
     jimmyxing() :用tshape如何去做?有没有源代码??? ehom(?!):能不能说详细点!给个例子!
      

  10.   

    Image上的图像为什么不会消失?和Image一样做,保存上面的图像相关信息,这样才能重绘
      

  11.   

    这个问题困扰好久了,只有使用一个方法才能实现,updatewindows(handle),才能恢复,最好在响应wm_paint消息时加进去,不过画的速度挺快的,或者你在最大化时重绘窗口.只是一点意见,关注1