全部替换后,增加一个函数。 在.h中 virtual void OnInitialUpdate(); // called first time after construct virtual void OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint); .cpp中 CScrollView::OnInitialUpdate(); CSize sizeTotal;
sizeTotal.cx =100 sizeTotal.cy =200 SetScrollSizes(MM_TEXT, sizeTotal); void CaaaView::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint) { // TODO: Add your specialized code here and/or call the base class // TODO: Add your specialized code here and/or call the base class CScrollView::OnUpdate(pSender,lHint,pHint); CSize sizeTotal;
会看到:
if (m_nMapMode == MM_NONE)
{
TRACE0("Error: must call SetScrollSizes() or SetScaleToFitSize()");
TRACE0("\tbefore painting scroll view.\n");
ASSERT(FALSE);
return;
}
知道为什么错就好解决了,在view的OnInitialUpdate里加:
CSize sizeTotal;
sizeTotal.cx = sizeTotal.cy = 100;
SetScrollSizes(MM_TEXT, sizeTotal);
就可以了
在.h中
virtual void OnInitialUpdate(); // called first time after construct
virtual void OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint);
.cpp中
CScrollView::OnInitialUpdate();
CSize sizeTotal;
sizeTotal.cx =100
sizeTotal.cy =200
SetScrollSizes(MM_TEXT, sizeTotal);
void CaaaView::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint)
{
// TODO: Add your specialized code here and/or call the base class
// TODO: Add your specialized code here and/or call the base class
CScrollView::OnUpdate(pSender,lHint,pHint);
CSize sizeTotal;
sizeTotal.cx =100
sizeTotal.cy =200
SetScrollSizes(MM_TEXT, sizeTotal);
}