在sdi工程中添加了一个新的视图后。怎样切换新视图和老视图!
解决方案 »
- 请教,关于菜单,为什么ModifyMenu()后,菜单不再有自绘状态。
- 今天真有点小郁闷
- CBCGPDialogBar 调用create的dialogbar按钮无法响应(灰色)?按钮有消息代码。
- 在VC中如何用ADO连接FOXPRO2.5呢?
- 一个系统监测的小软件,高手能指点一下么?
- VC++对话框的问题!急死俺了,求高手们帮忙!!在线等待too........
- 这段代码有问题吗?
- 如何得到CTreeCtrl添加ITEM时设置的item.lParam?
- to :theSky(云霄) :我不能给自己的帖子回复???只好新写一个帖子
- 有个朋友想找VC++非常入门的书。。请见多识广的朋友指教一下。。。最好是在网上可以D的。。谢谢了
- dickcissel再接分
- 为何打开一次注册表,然后进行多次读的时候,老是出现错误呢?
void CMainFrame::SwitchToView(BOOL CurView)
{//HTML视图不用重建,CURVE视图应该重建 CView *pHtml,*pCurve,*pTemp;
CDocument *pDoc;
pHtml=pCurve=NULL;
pDoc=GetActiveDocument();
POSITION pos=pDoc->GetFirstViewPosition ();
while(pos){
pTemp=pDoc->GetNextView (pos);
if(pTemp->IsKindOf (RUNTIME_CLASS(CSwatchView))) pHtml=pTemp;
if(pTemp->IsKindOf (RUNTIME_CLASS(CCurveView)))
pCurve=pTemp;
}
if(pCurve==NULL){
pCurve=new CCurveView;
/* pCurve->Create(NULL, NULL, WS_BORDER,
CFrameWnd::rectDefault, this,4, CurContext);*/
pCurve->Create(NULL, NULL, AFX_WS_DEFAULT_VIEW,
rectDefault, this, AFX_IDW_PANE_FIRST + 1, NULL);
pDoc->AddView (pCurve);
}
if(CurView){//html视图
int nID=pHtml->GetDlgCtrlID ();
pHtml->SetDlgCtrlID (AFX_IDW_PANE_FIRST);
pCurve->SetDlgCtrlID (nID);
pHtml->ShowWindow (SW_SHOW);
pCurve->ShowWindow (SW_HIDE);
}
else{//曲线视图
int nID=pCurve->GetDlgCtrlID ();
pCurve->SetDlgCtrlID (AFX_IDW_PANE_FIRST);
pHtml->SetDlgCtrlID (nID);
pHtml->ShowWindow (SW_HIDE);
pCurve->ShowWindow (SW_SHOW);
} RecalcLayout();}