Order of: OnActivateView, OnInitialUpdate
Jeff Wishnie -- jwishnie@swellsoft.com Tuesday, February 20, 1996 Configuration: VisC++ 4.0, MFC 4.0, Win95, MSDN Jan '96, MDI application I have written a CView subclass which performs some initialization in OnInitialUpdate. This initialization code _must_ take place _before_ OnActivateView. Not a problem right? The calling order is: When a view is created MFC calls OnInitialUpdate and _then_ calls OnActivateView BUT when I put my view in a CSplitterWnd, the order is _reversed_ MFC calls OnActivateView _before_ OnInitialUpdate BLOWING up my code. why, Why, WHY do they switch the order. I am going to _hate_ having to write special handling code for the case where the view is in a SplitterWnd. I may be able to move the initialization back into OnCreate, but thats really too early... Thanks for any illumination, Jeff jwishnie@swellsoft.com 415 552-3125(w)
Niels Ull Jacobsen -- nuj@kruger.dk Thursday, February 22, 1996 > > Configuration: VisC++ 4.0, MFC 4.0, Win95, MSDN Jan '96, MDI application > > I have written a CView subclass which performs some initialization in > OnInitialUpdate. > This initialization code _must_ take place _before_ OnActivateView. Hmm - why? (If it can be explained simple?) The only thing OnActivateView does is conditionally calling SetFocus(). > > Not a problem right? The calling order is: > > When a view is created MFC calls OnInitialUpdate and _then_ calls OnActivateView > > BUT when I put my view in a CSplitterWnd, the order is _reversed_ > > MFC calls OnActivateView _before_ OnInitialUpdate BLOWING up my code. > Could you just add a m_bAfterInitialUpdate variable? Then just ignore any OnActivateView before OnInitialUpdate and call SetFocus() if your OnInitialUpdate()? > why, Why, WHY do they switch the order. I am going to _hate_ having to write > special handling code for the case where the view is in a SplitterWnd. > > I may be able to move the initialization back into OnCreate, but thats > really too early... > > Thanks for any illumination, > > Jeff > jwishnie@swellsoft.com > 415 552-3125(w) > > > -- Niels Ull Jacobsen, Kruger A/S Everything stated herein is THE OFFICIAL POLICY of the entire Kruger group and should be taken as legally binding in every respect. Pigs will grow wings and fly.
| Вернуться в корень Архива |