我的对话框上有两个控件,一个是CWebBrowser2,另一个是CButton
当我调用对话框的
InvalidateRect(&m_rcPre, TRUE);
如果m_rcPre在CButton上可以正常刷新,
而m_prPre在CWebBrowser2上时,刷新会出现一个矩形的缺块?
如图:求高人指点!!

解决方案 »

  1.   

    全部代码:
    BOOL CJsandCplusDlg::OnInitDialog()
    {
    CDialogEx::OnInitDialog();
            .......
    m_pGra = new Graphics(m_hWnd);
    return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
    }void CJsandCplusDlg::OnPaint()
    {
    if (IsIconic())
    {
                    ......
    }
    else
    {
    CDialogEx::OnPaint();
    if(m_ptBmp.X!=-1 && m_ptBmp.Y!=-1)
    {
    Bitmap bmp(L"D:\\bbb.jpg");
    m_pGra->DrawImage(&bmp, m_ptBmp);
    }
    }
    }void CJsandCplusDlg::OnBnClickedButton1()
    {
    //InvalidateRect(&m_rcPre, TRUE); 
    InvalidateRect(NULL);
    CRect rcClient;
    GetClientRect(&rcClient);
    srand(GetTickCount()); m_ptBmp= Point(rand()%rcClient.Width(), rand()%rcClient.Height());
    Bitmap bmp(L"D:\\bbb.jpg");
    m_rcPre.left= m_ptBmp.X; 
    m_rcPre.top= m_ptBmp.Y; 
    m_rcPre.right= m_rcPre.left + bmp.GetWidth(); 
    m_rcPre.bottom= m_rcPre.top + bmp.GetHeight(); 
    OnPaint(); 
    }
      

  2.   

    把这段 放到WM_ERASEBKGND的响应中 返回TRUE
    if(m_ptBmp.X!=-1 && m_ptBmp.Y!=-1)         {             Bitmap bmp(L"D:\\bbb.jpg");             m_pGra->DrawImage(&bmp, m_ptBmp);         }
      

  3.   


    大佬,还是搞不定
    其他的控件都可以正常刷新,就是CWebBrowser2这个activeX控件不行啊
    而且它的Invalidate()成员方法也没用