CSplitterWnd中的各个CView是怎么和CDocument联系(attach)的?

类别:VC语言 点击:0 评论:0 推荐:

在函数BOOL CreateView( int row, int col, CRuntimeClass* pViewClass, SIZE sizeInit, CCreateContext* pContext );
中,有一个参数CCreateContext* pContext,里面有当前的document的指针
而在CView的OnCreate中:
 // if ok, wire in the current document
 ASSERT(m_pDocument == NULL);
 CCreateContext* pContext = (CCreateContext*)lpcs->lpCreateParams;

 // A view should be created in a given context!
 if (pContext != NULL && pContext->m_pCurrentDoc != NULL)
 {
  pContext->m_pCurrentDoc->AddView(this);
  ASSERT(m_pDocument != NULL);
 }
就是在这里调用AddView的。
ok,that's it.

本文地址:http://com.8s8s.com/it/it630.htm