解决使用CHtmlView后出现的COleException异常

程序中在使用CHtmlView类来实现浏览器功能时,在调整窗口大小时会窗口输出异常警告,例如我的出现的警告如下:

Warning: constructing COleException, scode = DISP_E_MEMBERNOTFOUND ($80020003).
htmltest.exe 中的 0x7c80bef7 处最可能的异常: Microsoft C++ 异常: 内存位置 0x0012de68 处的 COleException。
Warning: constructing COleException, scode = DISP_E_MEMBERNOTFOUND ($80020003).
htmltest.exe 中的 0x7c80bef7 处最可能的异常: Microsoft C++ 异常: 内存位置 0x0012de68 处的 COleException。

这是CHtmlView在处理WM_SIZE消息时造成的,改写WM_SIZE消息后就可以解决此问题,如下:


void CMyLogShView::OnSize(UINT nType, int cx, int cy)
{
    CFormView::OnSize(nType, cx, cy);    //注意此处一定要是CFormView

    // TODO: 在此处添加消息处理程序代码
    if (::IsWindow(m_wndBrowser.m_hWnd)) 
    { 
        CRect rect; 
        GetClientRect(rect); 
        ::AdjustWindowRectEx(rect, GetStyle(), FALSE, WS_EX_CLIENTEDGE);
        m_wndBrowser.SetWindowPos(NULL, 
            rect.left, 
            rect.top, 
            rect.Width(), 
            rect.Height(), 
            SWP_NOACTIVATE | SWP_NOZORDER); 
    }

}

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wandy_king/archive/2009/05/23/4210200.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值