WebBrowser隐藏后自动销毁的BUG以及解决办法

王朝vc·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

主题:如何隐藏和显示控件 -- WebBrowser?

所属论坛:Visual C++

代码如下:

m_pWB=new CWebBrowser2;

m_nWBID = 7000;

m_pWB[i]->Create(NULL,WS_CHILD ¦ WS_VISIBLE,CRect (0,0,500,500),(CWnd *)(&m_tab1),m_nWBID,FALSE);

m_pWB->Navigate("http://www.sina.com.cn/",NULL,NULL,NULL,NULL);

要显示和隐藏m_pWB,采用

m_pWB->SetVisible(false);

m_pWB->SetVisible(true);

m_pWB->ShowWindow(WS_HIDE)

m_pWB->ShowWindow(WS_SHOW)

都不能实现切换

回复人:111222()(2001-6-7 14:15:00)

得1000000分

WebBrowser控件有BUG

ShowWindow(WS_HIDE);之后控件就被销毁了。

再也显示不出来了:(

原因:

在MFC中,WebBrowser控件动态创建,没有设置WS_VISIBLE 属性 或者 调用了ShowWindow(SW_HIDE);

就会调用IOleControl::DoVerb() ,使WebBrowser控件的实例被销毁。

解决办法:

用SDK的ShowWindow函数。

//隐藏IE控件

::ShowWindow( m_pWB.GetSafeHwnd(), SW_HIDE );

//显示IE控件

::ShowWindow( m_pWB.GetSafeHwnd(), SW_SHOW );

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航