首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

C++使用IEWebBrowser2控件,怎么解决拖动窗口闪烁的有关问题

2012-01-19 
C++使用IEWebBrowser2控件,如何解决拖动窗口闪烁的问题。使用 CAxWindow 加一个 IEWebBrowser2,偌IE中播放

C++使用IEWebBrowser2控件,如何解决拖动窗口闪烁的问题。
使用 CAxWindow 加一个 IEWebBrowser2,偌IE中播放电影,那么则再拖动窗口的过程当中,整个IEWebBrowser会闪烁的很厉害。其实在浏览非电影页面也闪烁,只是没有那么严重而已,有什么好的解决办法么?多谢了。。

[解决办法]
在OnEraseBkgnd写一段,确定WEBBROWSER所在的区域,然后将这个区域InvalidateRgn掉,就OK了,我这是这么干的。

C/C++ code
CPaintDC dc(this);    CRect rect;    GetClientRect(&rect);    CRgn rgnWeb,rgnUpdate;    if ( !rect.EqualRect(&rcPreSize) )//rcPreSize,CRect类型的窗口成员,用于记录窗口大小。如果窗口没改变大小将不挖坑    {            //PS:计算无效区域        CRect rectAll;        GetWindowRect(&rectAll);        rgnUpdate.CreateRectRgn(/*写上窗口区域相关的数据*/);        rgnWeb.CreateRectRgn(/*WEBBROWSER区域的数据*/);        rgnUpdate.CombineRgn(&rgnUpdate,&rgnWeb,RGN_DIFF);        InvalidateRgn(&rgnUpdate,FALSE);    }    rgnWeb.DeleteObject();    rgnUpdate.DeleteObject();    GetClientRect(&rcPreSize);    return TRUE; 

热点排行