다음을 통해 공유


TN025: 문서, 뷰 및 프레임 만들기

[!참고]

온라인 설명서의을 처음 포함 되었습니다 때문 다음 기술 참고 업데이트 되지 않았습니다.따라서 일부 절차 및 항목 오래 되었거나 잘못 된 수 있습니다.최신 정보는 온라인 설명서 색인에서 관심 있는 주제에 대해 검색 하는 것이 좋습니다.

이 참고가 WinApps, DocTemplates, 문서, 프레임 및 뷰 만들기 및 소유권 문제를 설명합니다.

WinApp

하나의 CWinApp 시스템에서 개체입니다.

정적으로 구성 및 프레임 워크의 내부 구현으로 초기화 WinMain.파생 되어야 CWinApp 유용한 작업을 수행 합니다 (예외: 확장 Dll 있어야는 CWinApp 인스턴스-초기화에서 이루어집니다 DllMain 대신).

CWinApp 문서 템플릿 목록 개체를 소유 하 고 (한 CPtrList).응용 프로그램 당 하나 이상의 문서 템플릿이 있습니다.DocTemplates 일반적으로 로드 됩니다 (문자열 배열) 리소스 파일에서의 CWinApp::InitInstance.

pTemplate = new CDocTemplate(IDR_MYDOCUMENT, ...);
AddDocTemplate(pTemplate);

CWinApp 모든 프레임 windows 응용 프로그램에서 개체를 소유 하 고 있습니다.응용 프로그램의 주 프레임 창에 저장 되어야 합니다 CWinApp::m_pMainWnd. 일반적으로 설정 하면 m_pMainWndInitInstance Appwizard를 수 있도록 해야 하는 경우 구현 합니다.단일 문서 인터페이스 (SDI)에이 하나는 CFrameWnd 유일한 문서 프레임 창 뿐만 아니라 응용 프로그램을 주 프레임 창으로 사용 합니다.다중 문서 인터페이스 (MDI)이 MDI 프레임입니다 (클래스 CMDIFrameWnd) 모든 자식이 들어 주 응용 프로그램 프레임 창으로 사용 되는 CFrameWnds.각 자식 창 클래스인 CMDIChildWnd (파생 CFrameWnd)와 중 많은 잠재적으로 문서 프레임 창을 사용 합니다.

DocTemplates

CDocTemplate 의 작성자와 관리자의 문서입니다.자체적으로 만든 문서를 소유 합니다.리소스 기반 방법은 아래에 설명 된 응용 프로그램을 사용 하는 경우 해당 파생 필요가 없습니다 CDocTemplate.

SDI 응용 프로그램에서 클래스에 대 한 CSingleDocTemplate 하나 열려 있는 문서를 추적 합니다.MDI 응용 프로그램의 클래스에 대 한 CMultiDocTemplate 목록을 유지 (는 CPtrList)의 현재 열려 해당 서식 파일로 만든 모든 문서.CDocTemplate::AddDocumentCDocTemplate::RemoveDocument 추가 하거나 서식 파일에서 문서를 제거 하는 방법에 대 한 가상 멤버 함수를 제공 합니다.CDocTemplate친구가 되어 CDocument 보호 된 설정할 수 있도록 CDocument::m_pDocTemplate 문서를 만든 문서 템플릿으로 다시 가리키도록 후방 포인터.

CWinApp기본 처리 OnFileOpen 구현, 모든 문서 서식 파일에 쿼리 합니다.구현은 이미 열려 있는 문서를 찾는 결정 내용에 새 문서를 열고 서식을 포함 됩니다.

CDocTemplateUI 문서 및 프레임에 대 한 바인딩을 관리합니다.

CDocTemplate명명 되지 않은 문서의 개수를 유지합니다.

CDocument

A CDocument 소유는 CDocTemplate.

목록 뷰에 현재 열려 있는 문서를가지고 (파생 CView) 문서 보기 (에 CPtrList).

만들어진 후 서로 연결 된 문서 만들기/뷰를 제거 하지 마십시오.문서를 닫을 때 (즉,-파일/닫기)에 연결 된 모든 뷰를 닫힙니다.마지막 보기는 문서를 닫을 때 (즉, 창을 닫는) 문서가 닫힙니다.

CDocument::AddView, RemoveView 인터페이스는 목록 보기를 유지 하는 데 사용 됩니다.CDocument 의 친구입니다 CView 우리를 설정할 수 있도록는 CView::m_pDocument 후방 포인터입니다.

CFrameWnd

A CFrameWnd (프레임) MFC 1.0에서와 동일한 역할을 하지만 지금 재생 되는 CFrameWnd 클래스가 대부분의 경우 새 클래스를 파생 하지 않고 사용 하도록 설계 되었습니다.파생된 클래스는 CMDIFrameWndCMDIChildWnd 표준 명령 대부분 이미 구현 되어 있으므로 또한 향상 됩니다.

CFrameWnd Windows 프레임의 클라이언트 영역에서 담당 합니다.일반적으로 프레임의 클라이언트 영역을 채우는 1 주 창입니다.

MDI 프레임 창 클라이언트 영역 차례로 모든 MDI 자식 프레임 창의 부모 MDICLIENT 컨트롤을 채웁니다.SDI 프레임 창 또는 MDI 자식 프레임 창에서 클라이언트 영역의 일반적으로 채워집니다는 CView-window 개체에서 파생 됩니다.경우 CSplitterWnd, 보기의 클라이언트 영역으로 채워집니다는 CSplitterWnd window 개체와 CView-파생 된 창 개체 (1 당 분할 창의) 자식 창으로 만들어집니다는 CSplitterWnd.

참고 항목

기타 리소스

번호 기술 정보

범주별 기술 노트