谁能帮忙解决这个错误

heroinhell 2006-03-22 12:32:16

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了。
...全文
57 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
heroinhell 2006-03-22
  • 打赏
  • 举报
回复
楼上的能说明白点么,我刚入门
DentistryDoctor 2006-03-22
  • 打赏
  • 举报
回复
You must call SetScrollSizes or SetScaleToFitSize before painting scroll view.
heroinhell 2006-03-22
  • 打赏
  • 举报
回复
还是不行啊
heroinhell 2006-03-22
  • 打赏
  • 举报
回复
多谢了.我先试试
wawaku 2006-03-22
  • 打赏
  • 举报
回复
void CMyView::OnInitialUpdate()
{
CScrollView::OnInitialUpdate();
CSize sizeTotal;
sizeTotal.cx=sizeTotal.cy=800;
SetScrollSizes(MM_TEXT,sizeTotal);
}
老大是这意思

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧