在mfc单文档中左半显示对话框,右边显示视图

我是mfc初学者,在mfc单文档工程中,遇到问题,不知道怎样才能实现左边显示对话框,右边显示视图。我的代码如下:创建一个对话框CCtrlDlg,继承CFormView;创... 我是mfc初学者,在mfc单文档工程中,遇到问题,不知道怎样才能实现左边显示对话框,右边显示视图。我的代码如下:
创建一个对话框CCtrlDlg,继承CFormView;
创建一个分割类MySplitter,继承CSplitterWnd;
在CMainFrame类中定义MySplitter对象m_wndSplitter,然后再OnCreateClient函数里面写这样的代码
BOOL bCreateSpltr = m_wndSplitter.CreateStatic( this, 1, 2);
m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CCtrlDlg), CSize(200,500), pContext);
m_wndSplitter.CreateView(0,1,pContext->m_pNewViewClass, CSize(0,0), pContext);
return (bCreateSpltr);
可是编译成功,运行时弹出错误:Debug Assertion Failed!
我跟踪运行就是第二句出错:m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CCtrlDlg), CSize(200,500), pContext);

希望高手给予解答……
展开
 我来答
任明星Ming
2014-03-17 · TA获得超过798个赞
知道小有建树答主
回答量:1061
采纳率:100%
帮助的人:1148万
展开全部

你的dlg怎么能继承CFormView呢,类继承错了。这里有分割栏的例子,你对比下看看吧。


更多追问追答
追问
你的工程我看了,但是你这三个模块都是显示的view视图,而不是对话框,我是向显示对话框,然后操作对话框,不想再view类上添加控件……
追答
控件和Dialog都需要在view上面创建。。。没有view就不能创建分割窗口,除非自己写分隔栏,不用MFC自带的的。
daya9527
2014-03-17 · 超过15用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:34.8万
展开全部
创建工程的时候,单文档工程视图类继承与CFormView类。然后创建一个视图类用于右边显示就不会出错了
追问
如果说两边都显示对话框,怎么办?
追答
那你就自定义一个CFormView类,而不是对话框类,或者做个对话框工具条CDialogBar 依靠在左右两边
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式