主 题:如何隐藏和显示控件 -- 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 );
|

|