程序段:
LRESULT CMainFrame::OnMyChange(WPARAM wparam, LPARAM lparam)
{
CCreateContext Context;
if (wparam == NM_B)
{
//MessageBox(TEXT("NM_B!图像界面"));
Context.m_pNewViewClass = RUNTIME_CLASS(CMFCApplicationView);
Context.m_pCurrentFrame = this;
Context.m_pLastView = (CFormView*)m_spliter.GetPane(0, 1);
m_spliter.DeleteView(0, 1);
m_spliter.CreateView(0, 1, RUNTIME_CLASS(CMFCApplicationView), CSize(600, 500), &Context);
CMFCApplicationView* pNewView = (CMFCApplicationView*)m_spliter.GetPane(0, 1);
m_spliter.RecalcLayout();
pNewView->OnInitialUpdate();
m_spliter.SetActivePane(0, 1);
}//这个有问题,而下面的就没有问题
if (wparam == NM_C)
{
//MessageBox(TEXT("NM_B!图像界面"));
Context.m_pNewViewClass = RUNTIME_CLASS(CSelectView);
Context.m_pCurrentFrame = this;
Context.m_pLastView = (CFormView*)m_spliter.GetPane(0, 1);
m_spliter.DeleteView(0, 1);
m_spliter.CreateView(0, 1, RUNTIME_CLASS(CSelectView), CSize(600, 500), &Context);
CSelectView* pNewView = (CSelectView*)m_spliter.GetPane(0, 1);
m_spliter.RecalcLayout();
pNewView->OnInitialUpdate();
m_spliter.SetActivePane(0, 1);
}
报错段:
BOOL CObject::IsKindOf(const CRuntimeClass* pClass) const
{
ENSURE(this != NULL);//报错位置
// it better be in valid memory, at least for CObject size
ASSERT(AfxIsValidAddress(this, sizeof(CObject);
#其中上面的CMFCApplicationView是CView类,而下面的CSelectView是CFormView类,如果改用CFormView类就不会发生报错
求大佬帮忙