MFC视图分割之间的通信
我用静态分割,分割成两个视图:CFormCommandView(基类是CFormView)、CRenderView(基类是CView),现在想用CFormView中的一些按钮、编辑框等控件来控制CRenderView中的物体,我用一个按钮来控制物体前进时用一下代码:
void CFormCommandView::OnFront()
{
UpdateData ();
CMainFrame * pMainFrm = (CMainFrame *)AfxGetApp()->GetMainWnd();
CWnd * pWnd = pMainFrm->m_wndSplitter.GetPane(0, 0);
CRenderView* pView = DYNAMIC_DOWNCAST(CRenderView, pWnd);
pView->m_front=pView->m_front+0.1;
this->InvalidateRect(NULL,FALSE);
pView->InvalidateRect(NULL,TRUE);
}
但是点击按钮时会出错:“0x004034f2”指令应用的“0x00000044”内存。该内存不能为“read”.
求各位指教啊!!
[解决办法]
GetPane(0, 1);试了吗?
[解决办法]
pMainFrm pView 是否有效
[解决办法]
调试一下
看看各个指针都是否有效
[解决办法]