关于SDI的拆分窗口问题,求救

smilenot 2011-09-21 07:06:13
我按照MSDN上的说法写的:
VS2008的 SDI工程
在CMainFrame头文件中加了成员CSplitterWnd m_wndSplitter;
然后再重写了

OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{

m_wndSplitter.CreateStatic(this,2,1);
m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CTestView),CSize(0,0),pContext);
m_wndSplitter.CreateView(1,0,RUNTIME_CLASS(CTestView2),CSize(0,0),pContext);

return TRUE;
}


上面的CTestView和CTestView2 都是继承自CFormView的类

我的程序在DEBUG模式下一运行就出错,在RELEASE模式下毫无反应

我哪里错了?
...全文
59 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cwy2010 2011-09-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 smilenot 的回复:]

引用 3 楼 cwy2010 的回复:
楼主的代码我在VC6.0上试了下,没有出错,至于为啥在你机子VS 2008 不行,也不太明白! 呵呵...


这个大哥,你的程序可以生成分割窗口吗?
[/Quote]
可以的
woshierjian 2011-09-21
  • 打赏
  • 举报
回复
VC2008测试DEBUG无报错

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: Add your specialized code here and/or call the base class

CRect rect;
GetClientRect(&rect);
m_wndSplitter.CreateStatic(this,1,2);
m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CTest1),CSize(rect.Width()/2,rect.Height()),pContext);
m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CTest1),CSize(rect.Width()/2,rect.Height()),pContext);

return CFrameWndEx::OnCreateClient(lpcs, pContext);
}
Eleven 2011-09-21
  • 打赏
  • 举报
回复
代码没有什么问题,你的CFormView关联的对话框的Style是child属性吗?
smilenot 2011-09-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 cwy2010 的回复:]
楼主的代码我在VC6.0上试了下,没有出错,至于为啥在你机子VS 2008 不行,也不太明白! 呵呵...
[/Quote]

这个大哥,你的程序可以生成分割窗口吗?
cwy2010 2011-09-21
  • 打赏
  • 举报
回复
楼主的代码我在VC6.0上试了下,没有出错,至于为啥在你机子VS 2008 不行,也不太明白! 呵呵...
  • 打赏
  • 举报
回复
F5跟一下 错在哪里

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧