在框架窗口被创建的时候,创建了视图,相关的函数如下:
int cframewnd::oncreate(lpcreatestruct lpcs)
{
ccreatecontext* pcontext = (ccreatecontext*)lpcs->lpcreateparams;
return oncreatehelper(lpcs, pcontext);
}
int cframewnd::oncreatehelper(lpcreatestruct lpcs, ccreatecontext* pcontext)
{
if (cwnd::oncreate(lpcs) == -1)
return -1;
// create special children first
if (!oncreateclient(lpcs, pcontext))
{
trace0("failed to create client pane/view for frame.\n");
return -1;
}
// post message for initial message string
postmessage(wm_setmessagestring, afx_ids_idlemessage);
// make sure the child windows have been properly sized
recalclayout();
return 0; // create ok
}
bool cframewnd::oncreateclient(lpcreatestruct, ccreatecontext* pcontext)
{
// default create client will create a view if asked for it
if (pcontext != null && pcontext->m_pnewviewclass != null)
{