CSDN上的一个帖子,在对话框里利用视图类画图,却发现程序运行后在viewsctrl.cpp 134行出现断言错误,134行是ASSERT(FALSE),将其屏蔽后,仍会出现这个错误,下面是源代码,请问各位当如何修正.
step1:给对话框添加一个Static控件,类型为Frame,ID为IDC_STATIC_VIEW;
step2:从工程里添加一个新类CMyView,派生自CScrollView;
step3:在对话框中包含"MyView.h",并给对话框添加以下函数:
VOID CViewInDlgDlg::CreateView()
{
CRect rect;
CWnd* pWnd=GetDlgItem(IDC_STATIC_VIEW);
pWnd->GetWindowRect(&rect);
ScreenToClient(&rect);CCreateContext cx;
cx.m_pNewViewClass=RUNTIME_CLASS(CMyView);
cx.m_pCurrentDoc=new CDocument();CFrameWnd* pfWnd=(CFrameWnd*)this;
CWnd* pView=pfWnd->CreateView(&cx);
pView->MoveWindow(&rect);
}
step4:从InitUpdate中调用CreateView就OK了。