MFC分割窗口出错

分割窗口的代码:BOOLCMainFrame::OnCreateClient(LPCREATESTRUCTlpcs,CCreateContext*pContext){//... 分割窗口的代码:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: 在此添加专用代码和/或调用基类
CRect rect;
GetClientRect(&rect);
m_wndSplitter.CreateStatic(this, 1, 2);
m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CLeftPaneView),
CSize(180, rect.Height()), pContext);
m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CRightPaneView),
CSize(rect.Width()-180, rect.Height()), pContext);
return TRUE;
}
运行时出错,似乎是错在RUNTIME_CLASS这里,CLeftPaneView是通过类向导添加的继承自CTreeCtrl,CRightPaneView继承自CListCtrl,经过调试错在这里:ASSERT(pWnd->m_hWnd != NULL),CLeftPaneView类和CRightPaneView类都是通过类向导添加的,没经过任何改动,我该如何解决这个错误
展开
 我来答
raymond_lk
2013-04-11 · 超过24用户采纳过TA的回答
知道答主
回答量:114
采纳率:100%
帮助的人:57.7万
展开全部
不知道你的VS的版本。
下面的内容来自MSDN对于VS2005的。
http://msdn.microsoft.com/zh-cn/library/5t513e2c(v=VS.80).aspx
告诫说不要调用此函数。
API是功能,但实现功能的时机一定要合适。

Never call this function.
The default implementation of this function creates a CView object from the information provided in pContext, if possible.
Override this function to override values passed in the CCreateContext object or to change the way controls in the main client area of the frame window are created. The CCreateContext members you can override are described in the CCreateContext class.
追问
呵呵,谢谢你,我知道问题所在了,CRightPaneView和CLeftPaneView的直接或间接基类必需是cview类
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式