我用CJLibrary想做成OutLookBar风格的框架,按Bar上的按钮实现单文档切换,每一个文档都是CFormView,请问如何实现,分好说。
解决方案 »
- CTreeCtrl的树的节点数据保存在什么地方
- vc9.0中mfc出现的问题?
- WM_CONTEXTMENU消息在CMainFrame中和CView中的不同
- 难道没人知道吗?:如何创建一个选择目录的对话框啊?
- 新手问题:WIN32程序里能用MFC类吗?谢谢!
- 请问一下有没有什么方法把VC++.NET的编辑器拿来写VC++6.0呀!
- 在标题栏上画图,把最小化等按钮覆盖掉了
- 关于控件的两个问题
- 请教大拿一个关于服务的问题
- CDialog 的问题
- 请教:如何用最快速的方法得到一个16位或24位BMP文件到底包含多少种RGB色彩?仅说思路即可
- !!!!!!!!!!!!用CJLIBRARY做OUTLOOKBAR风格的程序框架,请问如何实现单文档切换呀,等待ING!!!
就是一个当前的from被激活吧
你的意思我知道 ,有没有例子呀,分数不够我再开新贴加
1.为每个视图定义ID
2.定义个SwitchView(nvID)的函数CView *pOld=GetActiveView();
CView *pNew=(CView*)GetDlgItem(nvID);
if(pNew==NULL)//如果第一次的话
{
switch(nV)
{
case IDVIEW_XXX:
pNew=(CView*) new CMyViewXXX;
break;
case IDVIEW_XXX:
pNew=(CView*) new CMyViewXXX;
break;
}
CCreateContext context;
context.m_pCurrentDoc=pOld->GetDocument();
pNew->Create(NULL,NULL,WS_BORDER,
CFrameWnd::rectDefault,this,nvID,&context);
pNew->OnInitialUpdate();
}
this->SetActiveView(pNew);
pNew->ShowWindow(SW_SHOW);
pOld->ShowWindow(SW_HIDE);pOld->SetDlgCtrlID(
pOld->GetRuntimeClass()==RUNTIME_CLASS(CMyEdit)?0:1);
//此处必须旧的视图的ID改回你设置的ID,因为当它活动的时候
//ID是AFX_IDW_PANE_FIRST
pNew->SetDlgCtrlID(AFX_IDW_PANE_FIRST);
//当前活动视图ID必须是AFX_IDW_PANE_FIRST
this->RecalcLayout();4.菜单设置
pCmdUI->Enable(!GetActiveView()->IsKindOf(RUNTIME_CLASS(CMyView))); 上面只是提供一个相关的思路,具体应用和这个也差不多!
希望对你有帮助吧!