各位同学和大虾,关于一个特殊的视图切换问题,欢迎大家共同讨论!解决问题!马上给分了!!
大家好!我的毕业设计正处于攻坚阶段,希望大家能帮我向想办法!谢谢!!
我的程序的界面是仿照VC的界面做的,数据库ODBC,设计一个简单的人力资源管理系统。
1,左边的放置一个带有树型目录的窗口,右边用来放置无模式对话框!
2,在菜单上添加,删除,查询等按钮,分别建立了三个无模式对话框,对应添加,删除,查询三按钮。
3,要实现三无模式对话框恰好显示在右边,并且更具菜单按钮能切换。
我现先把其中两个对话框切换的代码如下:不知那里有错???????
void CMainFrame::ChangeForm(int nForm)
{
CView* pOldActiveView=GetActiveView();
CView* PNewActiveView=(CView*)GetDlgItem(nForm);
if(pNewActiveView==NULL)
{
switch (nForm)
{
case IDW_ADD_FORM;
pNewActiveView=(CView*)new CResView;
break;
case IDW_RES174_FORM;
pNewActiveView=(CView*)new CAddView;
break;
}
CCreateContext context;
context.m_pCurrentDoc=pOldActiveView->GetDocument();
pNewActiveView->Create(NULL,NULL,0L,CFrameWnd::rectDefault,this,nForm,&context);
pNewActiveView->OnInitialUpdate();
}
SetActiveView(pNewActiveView);
pNewActiveView->ShowWindow(SW_SHOW);
pOldActiveView->ShowWindow(SW_HIDE);
if(pOldActiveView->GetRuntimeClass()==RUNTIEM_CLASS(CResView))
pOldActiveView->SetDlgCtrlID(IDW_RES174_FORM);
else
if(pOldActiveView->GetRuntimeClass()==RUNTIEM_CLASS(CAddView))
pOldActiveView->SetDlgCtrlID(IDW_ADD_FORM);
else
pOldActiveView->SetDlgCtrlID(IDW_RES174_FORM);
pNewActiveView->SetDlgCtrlID(AFX_IDW_PANE_FIRST);
RecalcLayout();
}