dialog上有一个pic控件,我在上面显示图片,由于每次显示图片大小不一样,所以会有上一次的图像残留在pic控件上,请问应该怎么做,在第二次显示之前,用底色(可以自定义底色吗?)重绘一下控件呢?

解决方案 »

  1.   

    CWnd* pWnd = GetDlgItem(IDC_BIGBMP);
    CDC*  pDC = pWnd->GetDC();
    pWnd->Invalidate(TRUE);            //用了Invalidate() 没效果
    pWnd->GetClientRect(&DesRect);
    ……
    dib.Paint(pDC, &DesRect, &SrcRect);//画图
      

  2.   

    CWnd* pWnd = GetDlgItem(IDC_BIGBMP);
    CDC*  pDC = pWnd->GetDC();
    pWnd->Invalidate(TRUE);        //这里刷新还是原来图片,没用
    pWnd->GetClientRect(&DesRect);
    ……
    dib.Paint(pDC, &DesRect, &SrcRect);//画图pWnd->Invalidate(TRUE);        //在画图后刷新应该就可以了
      

  3.   

    to rageliu :很奇怪啊,还是不行哦。