请教下,我定义了个CTableView : public CScrollView
但是做视图切换的时候老是提示file:viewscrl.cpp line:134,也就是说View的MapMode,它的初始值被设为MM_NONE请教下,为啥在CTableView类中重写下afx_msg void OnPaint()消息就可以了。。谁可以告诉我下还有就是OnInitialUpdate这个函数里面
void CTableView::OnInitialUpdate()
{
CScrollView::OnInitialUpdate(); CSize sizeTotal;
// TODO: calculate the total size of this view
sizeTotal.cx = sizeTotal.cy = 100;
SetScrollSizes(MM_TEXT, sizeTotal);
}
不是都已经把MapMode设置为MM_TEXT了吗,为是它又会变成MM_NONE谁告诉下小弟

解决方案 »

  1.   

    你调试一下看,可能没有进入OnInitialUpdate函数。
      

  2.   

    好像是顺序的问题,你试试这样应该就可以了:
    CSize sizeTotal; 
    sizeTotal.cx = sizeTotal.cy = 100; 
    SetScrollSizes(MM_TEXT, sizeTotal); 
    CScrollView::OnInitialUpdate(); 
      

  3.   

    你的第1个问题有些不清楚:究竟是*.cpp文件怎么啦?还有消息定义加入后解决了什么?
    第2个问题:涉及重载函数的执行次序,一般是先将有关参数确定后再调用父类的同名函数,这也是2楼的意见。
      

  4.   

    谢谢,真的没有进入OnInitialUpdate函数