我想在客户区绘图(画点,线),但是窗口改变,如最大化,最小化后画的图形就消失了,我想请问在什么控件上可以绘图(画点,线),窗口改变后不用自己重画?

解决方案 »

  1.   

    你应该在OnDraw里面画图,窗口改变后,自动重画
      

  2.   

    OnPaint函数一般控件都会有,你把实现代码写在这个函数内,当改变窗口时Invalidate()就可以了。
      

  3.   

    void CColorStatic::OnPaint() 
    {
    CPaintDC dc(this); // device context for painting

    // TODO: Add your message handler code here
    CRect rect;
    GetClientRect(&rect);
    CBrush brush,*oldbrush;
    brush.CreateSolidBrush(m_ColorStatic);
    oldbrush=dc.SelectObject (&brush);
    dc.FillRect (rect,&brush);
    dc.SelectObject (oldbrush);

    // Do not call CStatic::OnPaint() for painting messages
    }