vc单文档的一个界面问题

zbhmyhappy 2006-11-14 01:58:19
用vc创建一个单文档的应用程序,在MFC AppWizard最后一步,基类选择CFormView,就可以对它进行编辑,现在我想问的是,怎么切换它?就是想建立多个视图进行切换,比如插入一个新的对话框后怎么替换当前的?(在线等)麻烦各位。
...全文
142 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
dasiu 2006-11-16
  • 打赏
  • 举报
回复
是sdi下的多视图切换问题,可以看看这个
给你个我的程序你参考以下
//***************************************************************
//函数功能: 初始化所有视图
//1)
//2)
//3)
//
//说明:3个视图,不包括 common视图
//***************************************************************
BOOL CSDYNetCommApp::InitAllViews()
{

// TODO: Add your command handler code here
CMainFrame* pFrmWnd=(CMainFrame*)theApp.GetMainWnd();
CView *pNewView=NULL;

CCreateContext context;
context.m_pCurrentDoc=pFrmWnd->GetActiveDocument();
context.m_pCurrentFrame=NULL;
context.m_pLastView=NULL;
context.m_pNewDocTemplate=NULL;
context.m_pNewViewClass=NULL;

for(int i=0;i<4;i++)
{
UINT nID;
switch(i)
{
case 0:
nID=IDD_VIEW_MAIN;
if(!m_pViewMain)
{
pNewView=new CSDYNetCommView;
pNewView->Create(NULL,NULL,WS_CHILD,
CFrameWnd::rectDefault,pFrmWnd,nID,&context);
pNewView->SendMessage(WM_INITIALUPDATE,0,0);
m_pViewMain=(CSDYNetCommView*)pNewView;
}
break;
case 1:
nID=IDD_VIEW_HIST_ALARM;
if(!m_pViewHistAlarm)
{
pNewView=new CViewHistAlarm;
pNewView->Create(NULL,NULL,WS_CHILD,
CFrameWnd::rectDefault,pFrmWnd,nID,&context);
pNewView->SendMessage(WM_INITIALUPDATE,0,0);
m_pViewHistAlarm=(CViewHistAlarm*)pNewView;
}
break;
case 2:
nID=IDD_VIEW_HIST_SUPPLY;
if(!m_pViewHistSupply)
{
pNewView=new CViewHistSupply;
pNewView->Create(NULL,NULL,WS_CHILD,
CFrameWnd::rectDefault,pFrmWnd,nID,&context);
pNewView->SendMessage(WM_INITIALUPDATE,0,0);
m_pViewHistSupply=(CViewHistSupply*)pNewView;
}
break;
case 3:
nID=IDD_VIEW_QUANTITY;
if(!m_pViewQuantity)
{
pNewView=new CViewQuantity;
pNewView->Create(NULL,NULL,WS_CHILD,
CFrameWnd::rectDefault,pFrmWnd,nID,&context);
pNewView->SendMessage(WM_INITIALUPDATE,0,0);
m_pViewQuantity=(CViewQuantity*)pNewView;
}
break;
}
}

return TRUE;
}

zbhmyhappy 2006-11-14
  • 打赏
  • 举报
回复
是单文档的,视类下可以自己建立视图(对话框),几个视图间可以相互切换
neosu 2006-11-14
  • 打赏
  • 举报
回复
你说的好象是多文档程序, 文档类型不同的问题.

注意你app类initinstance关于文档模板添加的过程, 可以仿照它再加几个模板.

15,979

社区成员

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

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