由于之前建的项目的View类是继承CView基类的,所以如大多数文章描述的,把所有的CView替换成CScrollView,但是替换之后出现错误:viewscrl.cpp line:396 Debug Assertion Failed错误。经过调试定位后发现需要对滚动条初始化。在项目View类中添加的OnInitialUpdate函数和构造函数中添加初始化代码:
void CCADProjectView::OnInitialUpdate()
{
CScrollView::OnInitialUpdate();
//初始化滚动条
CSize sizeTotal;
// TODO: 计算此视图的合计大小
sizeTotal.cx = sizeTotal.cy = 10000;
SetScrollSizes(MM_TEXT, sizeTotal);
//设置初始位置
CRect re;
GetClientRect(&re);
this->SetScrollPos(SB_HORZ, 5000 - re.Width() / 2);
this->SetScrollPos(SB_VERT, 5000 - re.Height() / 2);
}
CCADProjectView::CCADProjectView()
{
<span style="white-space:pre"> </span>……
//初始化滚动条
CSize sizeTotal;
// TODO: 计算此视图的合计大小
sizeTotal.cx = sizeTotal.cy = 10000;
SetScrollSizes(MM_TEXT, sizeTotal);