关于filecore.cpp错误

icegirl914 2005-07-05 05:24:20
我的程序刚从SDI转为MDI,我是重建工程后,把相关的内容拷过去的,现在在运行的时候有时候会出现报filecore.cpp错误,好象是跟我打开文件有关;还有我在启动系统时,打开一个文件,会出现报错:

viewscrl.cpp;
line: 134

我看了viewscrl.cpp中的错误位置是:
#ifdef _DEBUG
if (m_nMapMode == MM_NONE)
{
TRACE0("Error: must call SetScrollSizes() or SetScaleToFitSize()");
TRACE0("\tbefore painting scroll view.\n");
ASSERT(FALSE); /*********错误指在这**********/
return;
}
#endif //_DEBUG
我的程序是用串行化保存的,语句如下:

void CDRAWDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
int nn = GetGraphUpperBound() + 1;
while (nn--)
{
if (GetGraph(nn)->IsDelete())
{
delete GetGraph(nn);
DeleteGraph(nn);
}
}
}
else
{
AfxMessageBox("打开文件!");// 调试


}
m_DrawObjectArray.Serialize(ar);
m_nCurUnIndex = -7; //表示没有做过任何撤消操作
m_nTotalUnIndex = 0;
}

不知道是怎么回事??????????
...全文
909 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
icegirl914 2005-07-05
  • 打赏
  • 举报
回复
写了呀:
void CDRAWView::OnInitialUpdate()
{
CRect rect;
GetClientRect(&rect);
CSize sizeTotal(rect.right, rect.bottom);
CSize pSize(500, 400);
CSize lSize(50, 40);
SetScrollSizes(MM_TEXT, sizeTotal, pSize, lSize);

CScrollView::OnInitialUpdate();
}
fisker0303 2005-07-05
  • 打赏
  • 举报
回复
查看调用堆栈。
快乐鹦鹉 2005-07-05
  • 打赏
  • 举报
回复
m_nMapMode == MM_NONE
居然会没有映射模式!自然不行了。
TRACE0("Error: must call SetScrollSizes() or SetScaleToFitSize()");
TRACE0("\tbefore painting scroll view.\n");
其实MFC程序已经给你提示了。要调用SetScrollSizes或者SetScaleToFitSize()函数来设置View的滚动窗口大小。应该在OnInitUpdate函数中设置。

15,979

社区成员

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

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