CFormView::OnInitialUpdate()不被调用
我基于CFormView创建了一个单文档的工程,在程序启动时都会调用void CXXView::OnInitialUpdate()函数,
可是问题出现在我新创建的一个FormView里.
问题描述:
1.首先我在这个工程里又新添加了一个FormView资源,并且命名为CMyFormView,
2.然后在CXXView里添加CMyFormView* m_pMyFormView;并且在void CXXView::OnInitialUpdate()函数里动态创建CMyFormView.代码如下
m_pMyFormView = new CMyFormView;
m_pMyFormView->Create("CMyFormView","",WS_CHILD | WS_VISIBLE ,CRect(1,1,1,1),this,1);
m_pMyFormView->SetWindowPos(NULL,rect.left, rect.top, rect.Width(), rect.Height(),SWP_SHOWWINDOW);
3.然后添加CMyFormView::OnInitialUpdate()虚函数.
我调试运行,发现,程序进入CXXView::OnInitialUpdate()里,并且创建CMyFormView成功,但是没有进入CMyFormView::OnInitialUpdate()函数里,不知道为什么.
由于在CMyFormView里没有调用CFormView::OnInitialUpdate();函数,未完成CMyFormView的的初始化,我在新创建的CMyFormView里的操作都会崩溃.
我该怎么办啊!
无奈之下,我将CFormView::OnInitialUpdate()剪贴到OnShowWindow(BOOL bShow, UINT nStatus) 里,这样程序就已经正常了(目前正常),
我能保证OnShowWindow(BOOL bShow, UINT nStatus)函数只调用一次.不知道以后会不会出问题,我该怎么办啊,高手指点啊!