我附件中的程序可以运行,是我按照书上编的,为什么点击“画矩形”-》“设置”“绘制”后画不出矩形?请高手指教!

解决方案 »

  1.   

    我怀疑是一下代码有问题,请高手指出?void CMyTab1View::OnDraw(CDC* pDC)
    {
    //UpdateData();
    //Invalidate();
    //UpdateWindow(); CMyTab1Doc* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    // TODO: add draw code for native data here
    if(m_change==2)
    {
    CPen mypen;
    mypen.CreatePen (PS_SOLID,m_LineWidth,RGB(255,0,0));
    CPen* pOldpen=pDC->SelectObject (&mypen);
    pDC->Rectangle (120,10,120+m_Length,10+m_Width);
    pDC->SelectObject (pOldpen);
    }
    }
      

  2.   

    你看看m_change、m_LineWidth、m_Length、m_Width这些数据对不对,尤其是m_change是否为2?
      

  3.   

    我看了下,只有这一处有 m_change=2;的赋值。
    void CMyTab1View::OnDisplay() 
    {
    // TODO: Add your command handler code here
    if(m_change!=1)
    {
    AfxMessageBox("请先设置矩形的大小和线宽");
        return;
    }
    m_change=2;
    Invalidate();
    }
    我再看看Invalidate();是什么意思
    谢谢
      

  4.   

    谢谢,我发现是pDC- >Rectangle (120,10,120+m_Length,10+m_Width); 设制的问题。