在窗口中绘制东西以后,改变窗口的大小,怎么使绘制的东西不消失

解决方案 »

  1.   

    双星人的意思是说:在处理wm_paint消息时,重复绘制你想要的东西。
    函数名为OnPaint(),在ClassWizard里选择wm_paint,点击Add Function。
      

  2.   

    我是在鼠标拖动时画线,怎么响应wm—paint啊!!下面是响应wm_mousemove
    CClientDC dc(this);
    endpt.x=point.x;
    endpt.y=point.y;
    if (startpt.x != -1)
    {
    dc.MoveTo(startpt.x,startpt.y);
    dc.LineTo(endpt.x,endpt.y);
    startpt.x=endpt.x;
    startpt.y=endpt.y;
    }
      

  3.   

    画完后写上这句
    Invalidate();
      

  4.   

    void CScribbleView::OnMouseMove(UINT nFlags, CPoint point) 
    {
    CClientDC dc(this);
        endpt.x=point.x;
        endpt.y=point.y;
        if (startpt.x != -1)
    {
     dc.MoveTo(startpt.x,startpt.y);
         dc.LineTo(endpt.x,endpt.y);
         startpt.x=endpt.x;
         startpt.y=endpt.y;
    }
    }
    各位?到底怎么做才能鼠标移动时画的线在改变窗口时不消失??
      

  5.   

    可以添加一个数组,把划线的点都记录下来。然后在OnPaint中输出。