我写单文档多视图切换程序时候,在VC6.0里面写通过了,但是在VS2010中会报错
我试过讲VC6.0里面粘贴过来,但是会报错
BOOL Cpet_hospitalApp::InitInstance() 中添加如下代码
m_pFormView=new CMyFormView();
CCreateContext context;
context.m_pCurrentDoc=((CMainFrame*)m_pMainWnd)->GetActiveDocument();
UINT uid=AFX_IDW_PANE_FIRST +1;
CRect rect;
m_pFormView->Create(NULL,NULL,WS_CHILD,rect,m_pMainWnd,uid,&context);
会报错 m_lpszTemplateName 0x0000013aconst wchar_t *
求高手指点啊。。。。。
上面问题已经解决
LONG lId = GetWindowLong(m_pFormView->m_hWnd, GWL_ID);
::SetWindowLong(((CMainFrame*)m_pMainWnd)->GetActiveView()->m_hWnd, GWL_ID,
GetWindowLong(((CMainFrame*)m_pMainWnd)->m_hWnd, GWL_ID));
::SetWindowLong(m_pFormView->m_hWnd, lId, GWL_ID);
::ShowWindow(((CMainFrame*)m_pMainWnd)->GetActiveView()->m_hWnd, SW_HIDE);
((CMainFrame*)m_pMainWnd)->SetActiveView(m_pFormView);
((CMainFrame*)m_pMainWnd)->RecalcLayout();
::ShowWindow(m_pFormView->m_hWnd, SW_SHOWMAXIMIZED);
这是显示新视图的代码。
其中
::SetWindowLong(((CMainFrame*)m_pMainWnd)->GetActiveView()->m_hWnd, GWL_ID,
GetWindowLong(((CMainFrame*)m_pMainWnd)->m_hWnd, GWL_ID));
::SetWindowLong(m_pFormView->m_hWnd, lId, GWL_ID);
是什么意思啊?
|