如何实现单文档多视图的功能

mcg 2003-05-23 01:02:51
我做了个单文档的程序想通过菜单控制不同的视图就是在CFRAMEWND下切换不同的视图,在
CMDI下我会做,加入不同的视图,可在SDI下却显示不出来,很急请高手告知
...全文
25 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
triggerd 2003-05-23
  • 打赏
  • 举报
回复
以前见过的帖子:
void CMainFrame::SwitchToView(eview nview)
{
CView *pOldActiveView = GetActiveView();
CView *pNewActiveView = (CView*)GetDlgItem(nview);
if(pNewActiveView == NULL)
{
switch(nview)
{
case view1:
pNewActiveView = (CView*)new CGroupView;
break;
case view2:
pNewActiveView = (CView*)new CCOMMUView;
break;
}

CCreateContext context;
context.m_pCurrentDoc = pOldActiveView->GetDocument();
pNewActiveView->Create(NULL, NULL, WS_BORDER, CFrameWnd::
rectDefault,this, nview, &context);
pNewActiveView->OnInitialUpdate();
}

SetActiveView(pNewActiveView);
pNewActiveView->ShowWindow(SW_SHOW);
pOldActiveView->ShowWindow(SW_HIDE);

int sid;
if (pOldActiveView->GetRuntimeClass() == RUNTIME_CLASS(CGroupView))
sid = view1;
else if(pOldActiveView->GetRuntimeClass() == RUNTIME_CLASS(CCOMMUView))
sid = view2;

pOldActiveView->SetDlgCtrlID(sid);

pNewActiveView->SetDlgCtrlID(AFX_IDW_PANE_FIRST);
RecalcLayout();

}

15,980

社区成员

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

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