是不是问题出在定义一个类的指针和定义一个类的对象,效果是不同的????

解决方案 »

  1.   

    pmDC成员变量?那就是背景没有擦除,绘制之前先用背景色填充一下pmDCCPaintDC dc(this);
    CDC *pDC=&dc;
    CRect rect;
    GetClientRect(&rect);
    CPen brush;
    brush.CreatePen(PS_SOLID,1,RGB(255,0,0));
    if(!pmDC.m_hDC)
    {
        pmDC.CreateCompatibleDC(NULL);
        CBitmap bitmap;
        bitmap.CreateCompatibleBitmap(pDC,rect.Width(),rect.Height());
        pmDC.SelectObject(&bitmap);
        pmDC.SelectObject(&brush);
    }
    /*将之前的画面用背景色擦除一下*/
    pmDC.FillSolidRect(0,0,rect.Width(),rect.Height(),RGB(255,255,255));//绘制背景for (int x=0; x<= 20; x++)
    {
        pmDC.MoveTo(x*gridx + gridxstartpos ,0);
        pmDC.LineTo(x*gridx + gridxstartpos ,200);
    }
    gridxstartpos += -1;//网格移动速度gridxstartpos,-1
    gridystartpos += gridyspeed;//网格移动速度gridxstartpos,0
    if(gridxstartpos < 0) gridxstartpos = gridx;//gridx = 10; //在x方向的网格距离
    if(gridxstartpos > gridx) gridxstartpos = 0;pDC->BitBlt(0,0,rect.Width(),rect.Height(),&pmDC,0,0,SRCCOPY);CDialog::OnPaint();
      

  2.   


    为什么对于指针,就要没问题???
      

  3.   


    为什么对于指针,就要没问题???对于指针没有问题,那是因为你每次用的时候再创建,就没有什么之前画面这一说,每次都是在新的DC上绘图