使用CHtmlView更换视图时发生错误

来源:百度知道 编辑:UC知道 时间:2024/05/16 17:03:50
我要在一个窗口区中实现两个视图的替换,一个是CHtmlView 一个是CView,使用删除了创建方法来实现。

删除用m_wndSplitter.DeleteView(Row,Col);
创建用m_wndSplitter.CreateView();

重新创建CHtmlView时,提示:
GoBangClient.exe 中的 0x78339b3c (mfc80d.dll) 处未处理的异常: 0xC0000005: 读取位置 0xfeeefeee 时发生访问冲突

另外:
如果要通过ShowWindow(SW_HIDT);和ShowWindow(SW_SHOW);
来实现视图切换效果 该怎么做,m_wndSplitter中好像不能同时CreateView()两次。
m_pWebAdvertView->Navigate2("http://www.qq.com",0,NULL);
错误应该是这个引起的,第二次再加载时出错。

发现第一次运行这条语句时,过一会儿以后,也是会出错。如果换个无效的地址就不会了。

要用到m_wndSplitter,因为我操作的那个窗格就是分割出来的窗格。

没有看到你的详细代码,说不好是那儿错了。
如果想用ShowWindow的话就用不着m_wndSplitter了,你可以在CMainFrame的OnCreateClient中创建两个视图并隐藏一个,下一步就在重写RecalcLayout,调用完基类的RecalcLayout后,调整视图的大小,把第二次创建的那个视图(在OnCreateClient中)的大小和位置都调整为第一次创建的那个一样。最后一步就是看你什么时候显示那个视图了。