void AddView ( CView * pView );

매개 변수


추가 되는 뷰 포인트。


보기를 문서에 첨부 하려면이 함수를 호출 합니다. 뷰는 문서와 연결 된 목록에 지정 된 보기를 추가 하는이 함수 함수는 또한이 문서에 보기의 문서 포인터를 설정합니다. 문서; 새로 만든된 view 개체를 연결할 때이 함수를 호출 하는 프레임 워크 이 응답 새 파일, 파일 열기 또는 새 창 명령 또는 분할 창이 분할 하는 경우에 발생 합니다.

수동으로 만들고 뷰를 연결 하는 경우에이 함수를 호출 합니다. 일반적으로 문서 클래스, 뷰 클래스와 프레임 창 클래스를 연결할 CDocTemplate 개체를 정의 하 여 문서 및 뷰를 연결 하는 프레임 워크를 알려드립니다.


// The following example toggles two views in an SDI (single document
// interface) frame window. A design decision must be made as to
// whether to leave the inactive view connected to the document,
// such that the inactive view continues to receive OnUpdate
// notifications from the document. It is usually desirable to
// keep the inactive view continuously in sync with the document, even 
// though it is inactive. However, doing so incurs a performance cost,
// as well as the programming cost of implementing OnUpdate hints.
// It may be less expensive, in terms of performance and/or programming,
// to re-sync the inactive view with the document only with it is 
// reactivated. This example illustrates this latter approach, by 
// reconnecting the newly active view and disconnecting the newly 
// inactive view, via calls to CDocument::AddView and RemoveView.

BOOL CMainFrame::OnViewChange(UINT nCmdID)
 CView* pViewAdd;
 CView* pViewRemove;
 CDocument* pDoc = GetActiveDocument();
 nCmdID = LOWORD(GetCurrentMessage()->wParam);
 if((nCmdID == ID_VIEW_VIEW1) && (m_currentView == 1))
 if((nCmdID == ID_VIEW_VIEW2) && (m_currentView == 2))

 if (nCmdID == ID_VIEW_VIEW2)
  if (m_pView2 == NULL)
   m_pView1 = GetActiveView();
   m_pView2 = new CMyView2;

//Note that if OnSize has been overridden in CMyView2 
//and GetDocument() is used in this override it can 
//cause assertions and, if the assertions are ignored,
//cause access violation.
   m_pView2->Create(NULL, NULL, AFX_WS_DEFAULT_VIEW,
      rectDefault, this, AFX_IDW_PANE_FIRST + 1, NULL);
   pViewAdd = m_pView2;
   pViewRemove = m_pView1;
   m_currentView= 2;
  pViewAdd = m_pView1;
  pViewRemove = m_pView2;
  m_currentView= 1;
// Set the child i.d. of the active view to AFX_IDW_PANE_FIRST,
// so that CFrameWnd::RecalcLayout will allocate to this 
// "first pane" that portion of   the frame window's client area 
// not allocated to control   bars.  Set the child i.d. of the 
// other view to anything other than AFX_IDW_PANE_FIRST; this
// examples switches the child id's of the two views.

 int nSwitchChildID = pViewAdd->GetDlgCtrlID();

 // Show the newly active view and hide the inactive view.


 // Connect the newly active view to the document, and
 // disconnect the inactive view.


CDocument 개요 |nbsp; 클래스 멤버 (ko) | 계층 구조 차트(&N)

참고 항목nbsp;CDocTemplate, CDocument::GetFirstViewPosition, CDocument::GetNextView, CDocument::RemoveView, CView::GetDocument(&N)