避免多个Web Browser控件或CHtmlView切换时产生闪烁

类别:VC语言 点击:0 评论:0 推荐:

Web Browser控件和CHtmlView有什么具体应用我也不废话了,咱们开门见山吧。

通常使用上述两个东西的时候会发现切换的时候有很严重的闪烁。

仔细观察你会发现,比方在ChtmlView中,窗口的绘画过程是:先画View的背景,然后在上层画控件(即网页)

解决办法很简单,禁止View进行那无用的导致闪烁的绘制背景过程。

具体做法 :

在派生类里处理WM_ERASEBKGND消息

BOOL CMyHtmlView::OnEraseBkgnd(CDC* pDC)
{
 return TRUE; 
// return CHtmlView::OnEraseBkgnd(pDC);
}

通过上面的改动以后,你会发现VIEW会跟腾讯的QQ浏览器一样无闪烁:)

Web Browser控件的相应做法类似,不再详述。

本文地址:http://com.8s8s.com/it/it2210.htm