用CSpliterWnd类创建两个面板时遇到问题?

yangchengl 2004-05-09 12:20:19
目的:左面板用作控制,是个对话框,继承自CFormView
右面板用于显示图形。
采用的是单文档程序。
问题:右面板应该继承自哪个类?应该单独创建一个文件吗?

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: Add your specialized code here and/or call the base class
if(!m_wndSplitter.CreateStatic(this,1,2,WS_CHILD|WS_VISIBLE))
{
TRACE("Failed to createstaticSplitter\n");
return FALSE;
}
if(!m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CFormCommandView),
CSize(200,160),pContext))
{
TRACE("FAILED TO CREATE COMMAND VIEW PANE\n");
return FALSE;

}
if(!m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CRenderView),CSize(200,160),
pContext))
{
TRACE("Failed to create preview pane\n");
return FALSE;
}
return TRUE;

}

其中的CRenderView在MainFrm.h中是这样声明的
class CRenderView: public CView
{
};
运行时候说违背了assertion。
原因可能在哪里,朋友们可要知无不言啊,谢谢了。
...全文
118 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
byry 2004-05-09
  • 打赏
  • 举报
回复
在MainFrm.cpp文件中,加上#include "RenderView.h"

把MainFrm.h中的class CRenderView: public CView
{
};
去掉!!!
byry 2004-05-09
  • 打赏
  • 举报
回复
对于显示图形的那个面板,建议你采用CScrollView类
菜牛 2004-05-09
  • 打赏
  • 举报
回复
最好利用向导创建CView或者CScrollView的继承类CRenderView来用。

15,979

社区成员

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

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