CDocument::OnNewDocument

가상 BOOL OnNewDocument ( );

반환 값

0이 아닌 경우에 문서를 성공적으로 초기화 되었습니다; 그렇지 않으면 0。

주의

새 파일 명령의 일환으로 프레임 워크에서 호출합니다. 이 함수의 기본 구현 문서 비어 하 고 깨끗 한 새 문서를 표시 하기 위해 DeleteContents 멤버 함수를 호출 합니다. 새 문서에 대 한 데이터 구조를 초기화 하려면이 함수를 재정의 합니다. 귀하의 재정의에서이 함수의 기본 클래스 버전을 호출 해야。

SDI 응용 프로그램에서 새 파일 명령을 선택 하는 경우 프레임 워크는이 함수를 사용 하 여 새로운 하나를 만드는 대신 기존 문서를 다시 초기화 합니다. 사용자가 다중 문서 인터페이스 (MDI) 응용 프로그램에 새 파일 선택, 프레임 워크 때마다 새 문서를 만들고 하 고 그것을 초기화 하려면이 함수를 호출 하는 다음. SDI 응용 프로그램에 적용 되도록 새 파일 명령에 대 한 생성자에 대신이 함수에 초기화 코드를 배치 해야 합니다.

예제

/ / 다음 예제의 대체 메서드를 보여 줍니다.
/ / 문서 개체를 초기화 합니다.

/ / 방법 1: 간단한 곳 MDI 응용 프로그램에서 / / 초기화는 문서 constructor.nbsp; 프레임 워크 / 항상 새 파일 또는 파일 열기에 대 한 새 문서 개체를 만듭니다.

CMyDoc::CMyDoc()
{
 ? / / MDI 문서 여기의 초기화를 수행 합니다.
 ? // ...
}

/ / 방법 2: SDI 또는 MDI 응용 프로그램에서 모든 초기화를 수행 / / OnNewDocument, 만약 당신이 특정의 재정의
/ / 초기화 파일 저장 시 저장 효과적으로
/ / 직렬화를 통해 파일 열기에 따라 완벽 하 게 복원 하 고 있습니다.

BOOL CMyDoc::OnNewDocument()
{
 ? if (!.CDocument::OnNewDocument(&))
 ???? FALSE; 반환

/ / 여기에 새 문서를 초기화 합니다.

TRUE를 반환 합니다.
}

/ / 방법 3: 문서를 초기화 하지 않으면
/ / 효과적으로 저장 하 고 (파일 저장 중에 직렬화 복원
/ / 파일 오픈), 단일에서 초기화를 구현
/ / 기능 (이 예제에서 InitMyDocument 라는).? 전화를
/ / 초기화 함수 재정의 모두에서 공유
/ / OnNewDocument 및 OnOpenDocument.

BOOL CMyDoc::OnNewDocument()
{
 ? if (!.CDocument::OnNewDocument())
 ???? FALSE; 반환

InitMyDocument(); / / 공유 초기화 함수 호출

/ / 새 문서 개체 추가 초기화를 필요로 하는 경우
 ? / / 문서 파일 열기를 통해 deserialize 할 때 필요 하지 않습니다
 ? / / 여기에 추가 초기화를 수행 합니다.

TRUE를 반환 합니다.
}

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

참고 항목nbsp;CDocument::CDocument, CDocument::DeleteContents, CDocument::OnCloseDocument, CDocument::OnOpenDocument, CDocument::OnSaveDocument(&N)

Index