我在界面上放置了一个CStatic控件,并在OnInitialUpdate函数中构造一个CView的子类.我想利用CStatic控件来控制CView子类的大小,因此我又在OnSize函数中,利用CView::setWindowPos函数来设定对象的尺寸。但是现在发现在程序进入OnInitialUpdate函数前,已调用了OnSize函数,所以根本不存在CView子类对象,因而程序出错。所以我想问我在哪里才可以做这个CView子类的初始化呢?

解决方案 »

  1.   

    在OnSize里改:if(view.m_hWnd!=NULL)CView::setWindowPos
      

  2.   

    还是不可以。问题就是出在判断 view.m_hWnd!=NULL中的。我在OnInitialUpdate中是这样初始化的:
    view = new CMyMap();
    view->Create(NULL,NULL,WS_CHILD | WS_VISIBLE, CRect(10,10,size.Width() + 0,size.Height() + 10),this, 1234);其中CMyMap就是继承CSrollView类的子类会不会是这边的问题呢
      

  3.   

    在OnSize里改:if(view!=NULL)CView::setWindowPosview在声明时赋NULL
      

  4.   

    类成员在定义时是不能做赋值的吧,除非是静态变量才可以的。而我如果直接在OnSize里改:
    if(view!=NULL)
      CView::setWindowPos界面中中间部分是空的。谢谢你的提示,但是能写的更详细点吗? 多谢了
      

  5.   

    view不是个指针吗?对指针赋NULL为啥不可。