if(m_wndSplitter.CreateStatic(this,1,2)==NULL) return FALSE;
if(m_wndSplitter2.CreateStatic(&m_wnd1,2,1,WS_CHILD|WS_VISIBLE, m_wndSplitter.IdFromRowCol(0,1))==NULL)
return FALSE;
m_wndSplitter2.CreateView(0,0,RUNTIME_CLASS(CMyFormView),PaneSize1,pContext);
m_wndSplitter2.CreateView(1,0,RUNTIME_CLASS(CChatClientView),PaneSize1,pContext);//上面在OnCreateClient函数中代码有问题码?程序运行到第一句就出错了!!我晕~~~~~~m_wndSplitter都不能创建,是怎么回事啊?把上面的代码去掉,程序框架就可以运行(只留return true这一局);
为什么,为什么!!!!!!!!!!!!!提示winsplit.cpp 364行出错,解释为:
ASSERT(pView != NULL); // panes can be a CWnd, but are usually CViews55555,为什么!!!!!!?????????
if(m_wndSplitter2.CreateStatic(&m_wnd1,2,1,WS_CHILD|WS_VISIBLE, m_wndSplitter.IdFromRowCol(0,1))==NULL)
return FALSE;
m_wndSplitter2.CreateView(0,0,RUNTIME_CLASS(CMyFormView),PaneSize1,pContext);
m_wndSplitter2.CreateView(1,0,RUNTIME_CLASS(CChatClientView),PaneSize1,pContext);//上面在OnCreateClient函数中代码有问题码?程序运行到第一句就出错了!!我晕~~~~~~m_wndSplitter都不能创建,是怎么回事啊?把上面的代码去掉,程序框架就可以运行(只留return true这一局);
为什么,为什么!!!!!!!!!!!!!提示winsplit.cpp 364行出错,解释为:
ASSERT(pView != NULL); // panes can be a CWnd, but are usually CViews55555,为什么!!!!!!?????????
解决方案 »
- CFile怎么写入二进制
- 请问 windbg 或者 VS 应如何从dmp(转存文件)定位内存泄漏的地方?
- 调控件时如何给控件传值进去?
- 关于局域网语音聊天程序的问题?为什么会产生本机声音的回传???
- 完成端口的轻量级问题.[[很急在线等待]].解决了,分可以另开贴放分.
- 新手问题:使用SDK写程序时,怎样用代码改变按钮所显的文本内容
- 请看源代码,帮忙解决一下问题。VC6的问题
- 非托管MFC调用 C# Activex控件或用户控件
- 怪事!CString类怎么了?
- 操作系統NUXAS开发计划招募各路英雄好汉!(作者nuxas) (大家快點行動....)
- 我又不懂了 请指教
- 怎么样用SQL同时插入两条记录!
{
// TODO: Add your specialized code here and/or call the base class
//calculate client size
CRect cr;
GetClientRect( &cr);
if ( !m_wndSplitter.CreateStatic( this, 1, 2 ) )
{
MessageBox( "Error setting up splitter frames!", "Init Error!", MB_OK | MB_ICONERROR );
return FALSE;
}
if ( !m_wndSplitter.CreateView( 0, 0, RUNTIME_CLASS(CTest9View), CSize(cr.Width()/2, cr.Height()), pContext ) )
{
MessageBox( "Error setting up splitter frames!", "Init Error!", MB_OK | MB_ICONERROR );
return FALSE;
}
if ( !m_wndSplitter.CreateView( 0, 1, RUNTIME_CLASS(CTest9View), CSize(cr.Width()/2, cr.Height()), pContext ) )
{
MessageBox( "Error setting up splitter frames!", "Init Error!", MB_OK | MB_ICONERROR );
return FALSE;
}
/// return CFrameWnd::OnCreateClient(lpcs, pContext);
return TRUE;
}
if(!m_wndSplitter.CreateStatic(this,1,2)) return false;the functon CreateStatic() and CreateView() of Calss CWndSplitter returns
a bool value(true if success ,otherwise false)!
CCreateContext* pContext)
{
BOOL rnt=m_wndSplitter.CreateStatic(this,2,1);
rnt|=m_wndSplitter.CreateView(1,0,RUNTIME_CLASS(COpView),
CSize(1000,1000),pContext);
rnt|=m_wndSplitter1.CreateStatic(&m_wndSplitter,1,2,
WS_CHILD|WS_VISIBLE,
m_wndSplitter.IdFromRowCol(0,0));
rnt|=m_wndSplitter1.CreateView(0,0,RUNTIME_CLASS(CDesView),
CSize(420,400),pContext);
rnt|=m_wndSplitter1.CreateView(0,1,RUNTIME_CLASS(CDimLinkView),
CSize(0,0),pContext); m_wndSplitter.SetColumnInfo(0,200,0);
m_wndSplitter.SetRowInfo(0,200,0); return rnt;
}
//之后对m_wndSplitter切分视图:
m_wndSplitter.CreateView(,,);
m_wndSplitter.CreateView(,,);if(m_wndSplitter2.CreateStatic(&m_wndSplitter,2,1,WS_CHILD|WS_VISIBLE, m_wndSplitter.IdFromRowCol(0,1))==NULL) m_wndSplitter2.CreateView(,,);
m_wndSplitter2.CreateView(,,);
你的目标是实现由两列,第二列为两行,对不对?而你却在加视图时错写成了在第一列第一、二行添加试图。仔细画画看
if(m_wndSplitter.CreateStatic(this,1,2)==NULL) return FALSE;
if(m_wndSplitter2.CreateStatic(&m_wnd1,2,1,WS_CHILD|WS_VISIBLE, m_wndSplitter.IdFromRowCol(0,1))==NULL)
return FALSE;
///下面改为(0,1)第二列第一行
m_wndSplitter2.CreateView(0,1,RUNTIME_CLASS(CMyFormView),PaneSize1,pContext);
///下面改为(1,1)表示第二列第二行
m_wndSplitter2.CreateView(1,1,RUNTIME_CLASS(CChatClientView),PaneSize1,pContext);