MFC关于如何在CView中显示对话框
我之前的程序定义好了一个界面,有一个对话框,一个树型结构和一个CHtmlView类框,领导要求在CHtmlView中显示一个已经做好的对话框!模态的!有高手指点一下吗?B...
我之前的程序定义好了一个界面,有一个对话框,一个树型结构和一个CHtmlView类框,领导要求在CHtmlView中显示一个已经做好的对话框!模态的!有高手指点一下吗?
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/,
CCreateContext* pContext)
{
//在此完成自己的分割
BOOL m_bCreateSplitter=m_wndSplitter.CreateStatic(this,1,2);
if(!m_bCreateSplitter) return FALSE;
m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CNavTree),CSize(180,100),pContext);
m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CHtmlView),CSize(180,100),pContext);
SetActiveView((CView*)m_wndSplitter.GetPane(0,1));
CHtmlView *p=(CHtmlView *)m_wndSplitter.GetPane(0,1);
p->Navigate(URL,navAllowAutosearch);
return m_bCreateSplitter;
}
这段是前辈留下的分割代码.
其中CNavTree是树型框,不做考虑,怎么解决CHtmlView的重载. 展开
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/,
CCreateContext* pContext)
{
//在此完成自己的分割
BOOL m_bCreateSplitter=m_wndSplitter.CreateStatic(this,1,2);
if(!m_bCreateSplitter) return FALSE;
m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CNavTree),CSize(180,100),pContext);
m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CHtmlView),CSize(180,100),pContext);
SetActiveView((CView*)m_wndSplitter.GetPane(0,1));
CHtmlView *p=(CHtmlView *)m_wndSplitter.GetPane(0,1);
p->Navigate(URL,navAllowAutosearch);
return m_bCreateSplitter;
}
这段是前辈留下的分割代码.
其中CNavTree是树型框,不做考虑,怎么解决CHtmlView的重载. 展开
1个回答
2013-11-20
展开全部
Frame里面只能加载CView或者由CView继承而来的子类,不能直接加载对话框。 你可以考虑弹出的方式加载对话框。或者将对话框的基类改成CFormView,在修改对应的位置,基本上就是初始化的几个消息要修改一下。 class CDlgView: public CFormView 只需要改几个消息的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询