就像vc一样,在左边的树行控件双击,右边就会产生一个视图。
我试过用CWinApp::OnFileNew();
但是不行,OnFileNew()是protected的
试过用pDoc->OnNewDocument();
也是出现错误
具体怎么实现,高手给点提示啊!
谢谢了!
我试过用CWinApp::OnFileNew();
但是不行,OnFileNew()是protected的
试过用pDoc->OnNewDocument();
也是出现错误
具体怎么实现,高手给点提示啊!
谢谢了!
解决方案 »
- 关于socket编程的客户端多次发送问题
- 高分求助一个二维数组,怎样在坐标上画出来,即一条曲线
- 难道这个版上没有人能讲讲这个问题吗?
- 如何自动执行应用程序(Windows2000环境)
- 谁有 排课系统 的算法或者源代码、资料??有高分回报!
- 多端口的问题
- 学vc也不短了,还不知道怎么搞定汉字输入
- pop3邮件头suject的译码,汉字怎么能得出来的?
- MFC分割视图,无法响应消息,求指教
- 求求各位大虾了,我都快死了。------一个用VB编的运行在客户端的ActiveX控件(嵌套在IE中)怎样才能得到服务器端的session值??小弟谢谢了。一定给分!
- 短信开发
- 用静态库编译了后,为什么程序还不能在没有装VC的机子上运行呢?
// name: SwitchToView
// function: switch view in main view
//=============================================================================
void CMainFrame::SwitchToView(eView curView)
{
CView* pOldActiveView = (CView*)GetActiveView(); ASSERT( pOldActiveView != NULL ); if( pOldActiveView->IsKindOf(RUNTIME_CLASS(CExpSettingView)) )
pOldActiveView = (CView*)pOldActiveView->GetParent()->GetParent();
else if( pOldActiveView->IsKindOf(RUNTIME_CLASS(CArenaView)) )
pOldActiveView = (CView*)pOldActiveView->GetParent(); CView* pNewActiveView = (CView*) GetDlgItem(curView);
if (pNewActiveView == NULL) {
switch (curView) {
case EXPDESIGN:
pNewActiveView = (CView*) new CExpDesignView;
break;
case EXPARENADEF:
pNewActiveView = (CView*) new CExpArenaDefView;
break;
}
CCreateContext context;
context.m_pCurrentDoc = pOldActiveView->GetDocument(); pNewActiveView->Create(NULL, NULL, WS_BORDER|WS_CHILD|WS_VISIBLE,
CFrameWnd::rectDefault, this, curView, &context);//
pNewActiveView->OnInitialUpdate();
} SetActiveView(pNewActiveView); pOldActiveView->ShowWindow(SW_HIDE);
pNewActiveView->ShowWindow(SW_SHOW); eView oldView;
if( pOldActiveView->GetRuntimeClass() == RUNTIME_CLASS(CExpSettingView) ||
pOldActiveView->GetRuntimeClass() == RUNTIME_CLASS(CExpDesignView))
oldView = EXPDESIGN;
else if( pOldActiveView->GetRuntimeClass() == RUNTIME_CLASS(CArenaView) ||
pOldActiveView->GetRuntimeClass() == RUNTIME_CLASS(CExpArenaDefView) )
oldView = EXPARENADEF;
pOldActiveView->SetDlgCtrlID(oldView); pNewActiveView->SetDlgCtrlID(AFX_IDW_PANE_FIRST);
RecalcLayout(); m_eView = curView;
}
CDocument *pDocument;
if(pActiveChild==NULL ||
(pDocument=pActiveChild->GetActiveDocument())==NULL)
{
TRACE("Warning: No active document for new View opened.\n");
AfxMessageBox(AFX_IDP_COMMAND_FAILURE);
return;
} // Otherwise we have a new frame
CDocTemplate *pTemplate=((CxxxApp*)AfxGetApp())->m_pxxxTemplate;
ASSERT_VALID(pTemplate);
CFrameWnd *pFrame=
pTemplate->CreateNewFrame(pDocument,pActiveChild);
if(pFrame==NULL)
{
TRACE("Warning: failed to create new frame.\n");
AfxMessageBox(AFX_IDP_COMMAND_FAILURE);
return;
} pTemplate->InitialUpdateFrame(pFrame,pDocument);