CDocument
수업
사용자 정의 문서 클래스에 대한 기본 기능을 제공합니다.
구문
class CDocument : public CCmdTarget
멤버
공용 생성자
속성 | 설명 |
---|---|
CDocument::CDocument |
CDocument 개체를 생성합니다. |
공용 메서드
이름 | 설명 |
---|---|
CDocument::AddView |
문서에 보기를 첨부합니다. |
CDocument::BeginReadChunks |
청크 읽기를 초기화합니다. |
CDocument::CanCloseFrame |
고급 재정의 가능; 이 문서를 보는 프레임 창을 닫기 전에 호출됩니다. |
CDocument::ClearChunkList |
청크 목록을 지웁니다. |
CDocument::ClearPathName |
문서 개체의 경로를 지웁니다. |
CDocument::DeleteContents |
문서 정리를 수행하기 위해 호출됩니다. |
CDocument::FindChunk |
지정된 GUID가 있는 청크를 찾습니다. |
CDocument::GetAdapter |
인터페이스를 구현하는 개체에 대한 포인터를 반환합니다 IDocument . |
CDocument::GetDocTemplate |
문서 형식을 설명하는 문서 서식 파일에 대한 포인터를 반환합니다. |
CDocument::GetFile |
원하는 CFile 개체에 대한 포인터를 반환합니다. |
CDocument::GetFirstViewPosition |
뷰 목록에서 첫 번째 위치의 위치를 반환합니다. 반복을 시작하는 데 사용됩니다. |
CDocument::GetNextView |
문서와 연결된 뷰 목록을 반복합니다. |
CDocument::GetPathName |
문서 데이터 파일의 경로를 반환합니다. |
CDocument::GetThumbnail |
썸네일 공급자가 썸네일을 표시하는 데 사용할 비트맵을 만들기 위해 호출됩니다. |
CDocument::GetTitle |
문서의 제목을 반환합니다. |
CDocument::InitializeSearchContent |
검색 처리기에 대한 검색 콘텐츠를 초기화하기 위해 호출됩니다. |
CDocument::IsModified |
문서가 마지막으로 저장된 이후 수정되었는지 여부를 나타냅니다. |
CDocument::IsSearchAndOrganizeHandler |
검색 및 구성 처리기를 위해 이 개체 인스턴스 CDocument 가 만들어졌는지 여부를 알려줍니다. |
CDocument::LoadDocumentFromStream |
스트림에서 문서 데이터를 로드하기 위해 호출됩니다. |
CDocument::OnBeforeRichPreviewFontChanged |
리치 미리 보기 글꼴이 변경되기 전에 호출됩니다. |
CDocument::OnChangedViewList |
보기가 문서에 추가되거나 문서에서 제거된 후 호출됩니다. |
CDocument::OnCloseDocument |
문서를 닫기 위해 호출됩니다. |
CDocument::OnCreatePreviewFrame |
리치 미리 보기에 대한 미리 보기 프레임을 만들어야 하는 경우 프레임워크에서 호출됩니다. |
CDocument::OnDocumentEvent |
문서 이벤트에 대한 응답으로 프레임워크에서 호출됩니다. |
CDocument::OnDrawThumbnail |
파생 클래스에서 이 메서드를 재정의하여 썸네일의 콘텐츠를 그립니다. |
CDocument::OnLoadDocumentFromStream |
스트림에서 문서 데이터를 로드해야 하는 경우 프레임워크에서 호출됩니다. |
CDocument::OnNewDocument |
새 문서를 만들기 위해 호출됩니다. |
CDocument::OnOpenDocument |
기존 문서를 열기 위해 호출됩니다. |
CDocument::OnPreviewHandlerQueryFocus |
미리 보기 처리기가 함수 호출에서 반환 HWND 하도록 지시 GetFocus 합니다. |
CDocument::OnPreviewHandlerTranslateAccelerator |
미리 보기 처리기가 실행 중인 프로세스의 메시지 펌프에서 전달된 키 입력을 처리하도록 미리 보기 처리기를 지시합니다. |
CDocument::OnRichPreviewBackColorChanged |
리치 미리 보기 배경색이 변경될 때 호출됩니다. |
CDocument::OnRichPreviewFontChanged |
리치 미리 보기 글꼴이 변경되면 호출합니다. |
CDocument::OnRichPreviewSiteChanged |
Rich Preview 사이트가 변경될 때 호출됩니다. |
CDocument::OnRichPreviewTextColorChanged |
리치 미리 보기 텍스트 색이 변경될 때 호출됩니다. |
CDocument::OnSaveDocument |
문서를 디스크에 저장하기 위해 호출됩니다. |
CDocument::OnUnloadHandler |
미리 보기 처리기가 언로드될 때 프레임워크에서 호출됩니다. |
CDocument::PreCloseFrame |
프레임 창을 닫기 전에 호출됩니다. |
CDocument::ReadNextChunkValue |
다음 청크 값을 읽습니다. |
CDocument::ReleaseFile |
파일을 해제하여 다른 애플리케이션에서 사용할 수 있도록 합니다. |
CDocument::RemoveChunk |
지정된 GUID 청크를 제거합니다. |
CDocument::RemoveView |
문서에서 보기를 분리합니다. |
CDocument::ReportSaveLoadException |
고급 재정의 가능; 예외로 인해 열기 또는 저장 작업을 완료할 수 없을 때 호출됩니다. |
CDocument::SaveModified |
고급 재정의 가능; 사용자에게 문서를 저장해야 하는지 여부를 묻는 가 호출됩니다. |
CDocument::SetChunkValue |
청크 값을 설정합니다. |
CDocument::SetModifiedFlag |
문서를 마지막으로 저장한 이후 수정했음을 나타내는 플래그를 설정합니다. |
CDocument::SetPathName |
문서에서 사용하는 데이터 파일의 경로를 설정합니다. |
CDocument::SetTitle |
문서의 제목을 설정합니다. |
CDocument::UpdateAllViews |
문서가 수정되었음을 모든 보기에 알깁니다. |
보호된 메서드
속성 | 설명 |
---|---|
CDocument::OnFileSendMail |
문서가 첨부된 메일 메시지를 보냅니다. |
CDocument::OnUpdateFileSendMail |
메일 지원이 있는 경우 메일 보내기 명령을 사용하도록 설정합니다. |
공용 데이터 멤버
속성 | 설명 |
---|---|
CDocument::m_bGetThumbnailMode |
CDocument 썸네일을 위해 dllhost에서 개체를 만들게 지정합니다. 에서 체크 인 CView::OnDraw 해야 합니다. |
CDocument::m_bPreviewHandlerMode |
개체가 CDocument prevhost에 의해 생성되었음을 지정합니다 Rich Preview . 에서 체크 인 CView::OnDraw 해야 합니다. |
CDocument::m_bSearchMode |
인덱서 또는 다른 검색 애플리케이션에서 개체를 만들었으면 을 지정 CDocument 합니다. |
CDocument::m_clrRichPreviewBackColor |
리치 미리 보기 창의 배경색을 지정합니다. 이 색은 호스트에 의해 설정됩니다. |
CDocument::m_clrRichPreviewTextColor |
리치 미리 보기 창의 전경색을 지정합니다. 이 색은 호스트에 의해 설정됩니다. |
CDocument::m_lfRichPreviewFont |
서식 있는 미리 보기 창의 텍스트 글꼴을 지정합니다. 이 글꼴 정보는 호스트에 의해 설정됩니다. |
설명
문서는 사용자가 일반적으로 파일 열기 명령을 사용하여 열고 파일 저장 명령을 사용하여 저장하는 데이터 단위를 나타냅니다.
CDocument
에서는 문서 만들기, 문서 로드 및 저장과 같은 표준 작업을 지원합니다. 프레임워크는 에 정의된 CDocument
인터페이스를 사용하여 문서를 조작합니다.
애플리케이션은 둘 이상의 문서 유형을 지원할 수 있습니다. 예를 들어 애플리케이션은 스프레드시트와 텍스트 문서를 모두 지원할 수 있습니다. 각 유형의 문서에는 연결된 문서 서식 파일이 있습니다. 문서 서식 파일은 해당 유형의 문서에 사용되는 리소스(예: 메뉴, 아이콘 또는 액셀러레이터 테이블)를 지정합니다. 각 문서에는 연결된 개체에 대한 포인터가 CDocTemplate
포함되어 있습니다.
사용자는 연결된 개체를 CView
통해 문서와 상호 작용합니다. 보기는 프레임 창에서 문서의 이미지를 렌더링하고 사용자 입력을 문서에 대한 작업으로 해석합니다. 문서에는 여러 보기가 연결되어 있을 수 있습니다. 사용자가 문서에서 창을 열면 프레임워크에서 보기를 만들고 문서에 연결합니다. 문서 서식 파일은 각 유형의 문서를 표시하는 데 사용되는 보기 및 프레임 창 유형을 지정합니다.
문서는 프레임워크의 표준 명령 라우팅의 일부이며 결과적으로 표준 사용자 인터페이스 구성 요소(예: 파일 저장 메뉴 항목)에서 명령을 받습니다. 문서는 현재 보기에서 전달된 명령을 받습니다. 문서에서 지정된 명령을 처리하지 않으면 해당 명령을 관리하는 문서 서식 파일에 전달합니다.
문서의 데이터가 수정되면 각 보기에 해당 수정 내용이 반영되어야 합니다. CDocument
에서는 UpdateAllViews
이러한 변경 내용의 뷰에 알리기 위한 멤버 함수를 제공하므로 뷰가 필요에 따라 다시 칠할 수 있습니다. 또한 프레임워크는 수정된 파일을 닫기 전에 저장하라는 메시지를 사용자에게 표시합니다.
일반적인 애플리케이션에서 문서를 구현하려면 다음을 수행해야 합니다.
각 문서 유형에
CDocument
대한 클래스를 파생합니다.각 문서의 데이터를 저장할 멤버 변수를 추가합니다.
문서의 데이터를 읽고 수정하기 위한 멤버 함수를 구현합니다. 문서의 뷰는 이러한 멤버 함수의 가장 중요한 사용자입니다.
문서 클래스의
CObject::Serialize
멤버 함수를 재정의하여 문서의 데이터를 디스크에 쓰고 읽습니다.
CDocument
는 MAPI(메일 지원)가 있는 경우 메일을 통해 문서 전송을 지원합니다. MFC의 MAPI 및 MAPI 지원 문서를 참조하세요.
자세한 CDocument
내용은 Serialization, 문서/뷰 아키텍처 항목 및 문서/보기 만들기를 참조하세요.
상속 계층 구조
CDocument
요구 사항
머리글: afxwin.h
CDocument::AddView
이 함수를 호출하여 문서에 보기를 첨부합니다.
void AddView(CView* pView);
매개 변수
pView
추가되는 보기를 가리킵니다.
설명
이 함수는 문서와 연결된 뷰 목록에 지정된 뷰를 추가합니다. 함수는 뷰의 문서 포인터도 이 문서에 설정합니다. 프레임워크는 새로 만든 뷰 개체를 문서에 연결할 때 이 함수를 호출합니다. 파일 새로 만들기, 파일 열기 또는 새 창 명령에 대한 응답으로 또는 분할자 창이 분할되는 경우에 발생합니다.
뷰를 수동으로 만들고 연결하는 경우에만 이 함수를 호출합니다. 일반적으로 문서 클래스, 뷰 클래스 및 프레임 창 클래스를 연결할 개체를 정의하여 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.
void CMainFrame::OnViewChange(UINT nCmdID)
// There is an ON_COMMAND_RANGE message map entry associated with
// OnViewChange:
// ON_COMMAND_RANGE(ID_VIEW_CHANGE1, ID_VIEW_CHANGE2, &OnViewChange)
{
CView *pViewAdd;
CView *pViewRemove;
CDocument *pDoc = GetActiveDocument();
// cvView1 and cvView2 are enum members defined in my CMainFrame class
if ((nCmdID == ID_VIEW_CHANGE1) && (m_currentView == cvView1))
return;
if ((nCmdID == ID_VIEW_CHANGE2) && (m_currentView == cvView2))
return;
if (nCmdID == ID_VIEW_CHANGE2)
{
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 = cvView2;
}
else
{
pViewAdd = m_pView1;
pViewRemove = m_pView2;
m_currentView = cvView1;
}
// 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();
pViewAdd->SetDlgCtrlID(AFX_IDW_PANE_FIRST);
pViewRemove->SetDlgCtrlID(nSwitchChildID);
// Show the newly active view and hide the inactive view.
pViewAdd->ShowWindow(SW_SHOW);
pViewRemove->ShowWindow(SW_HIDE);
// Connect the newly active view to the document, and
// disconnect the inactive view.
pDoc->AddView(pViewAdd);
pDoc->RemoveView(pViewRemove);
SetActiveView(pViewAdd);
RecalcLayout();
}
CDocument::BeginReadChunks
청크 읽기를 초기화합니다.
virtual void BeginReadChunks ();
설명
CDocument::CanCloseFrame
문서를 표시하는 프레임 창이 닫혀 있기 전에 프레임워크에서 호출됩니다.
virtual BOOL CanCloseFrame(CFrameWnd* pFrame);
매개 변수
pFrame
문서에 첨부된 보기의 프레임 창을 가리킵니다.
Return Value
프레임 창을 닫는 것이 안전한 경우 0이 아닌 경우 그렇지 않으면 0입니다.
설명
기본 구현은 문서를 표시하는 다른 프레임 창이 있는지 확인합니다. 지정한 프레임 창이 문서를 표시하는 마지막 창인 경우 함수는 수정된 문서를 저장하라는 메시지를 사용자에게 표시합니다. 프레임 창을 닫을 때 특수한 처리를 수행하려는 경우 이 함수를 재정의합니다. 이는 고급 재정의 가능입니다.
CDocument::CDocument
CDocument
개체를 생성합니다.
CDocument();
설명
프레임워크는 문서 만들기를 처리합니다. 문서별로 초기화를 수행하도록 멤버 함수를 재정 OnNewDocument
의합니다. 이는 SDI(단일 문서 인터페이스) 애플리케이션에서 특히 중요합니다.
CDocument::ClearChunkList
청크 목록을 지웁니다.
virtual void ClearChunkList ();
설명
CDocument::ClearPathName
문서 개체의 경로를 지웁니다.
virtual void ClearPathName();
설명
개체에서 CDocument
경로를 지우면 문서가 다음에 저장되면 애플리케이션에서 사용자에게 메시지를 표시합니다. 이렇게 하면 Save 명령이 다른 이름으로 저장 명령처럼 동작합니다.
CDocument::DeleteContents
개체 자체를 삭제하지 않고 문서의 데이터를 삭제하기 위해 프레임워크에서 CDocument
호출됩니다.
virtual void DeleteContents();
설명
문서를 삭제하기 직전에 호출됩니다. 또한 문서가 다시 사용되기 전에 비어 있는지 확인하기 위해 호출됩니다. 이는 하나의 문서만 사용하는 SDI 애플리케이션에 특히 중요합니다. 사용자가 다른 문서를 만들거나 열 때마다 문서가 재사용됩니다. 이 함수를 호출하여 문서의 모든 데이터를 삭제하는 "모두 지우기 편집" 또는 유사한 명령을 구현합니다. 이 함수의 기본 구현은 아무 작업도 수행하지 않습니다. 문서에서 데이터를 삭제하려면 이 함수를 재정의합니다.
예시
// This example is the handler for an Edit Clear All command.
void CExampleDoc::OnEditClearAll()
{
DeleteContents();
UpdateAllViews(NULL);
}
void CExampleDoc::DeleteContents()
{
// Re-initialize document data here.
}
CDocument::FindChunk
지정된 GUID가 있는 청크를 찾습니다.
virtual POSITION FindChunk(
REFCLSID guid,
DWORD pid);
매개 변수
guid
찾을 청크의 GUID를 지정합니다.
pid
찾을 청크의 PID를 지정합니다.
Return Value
성공하면 내부 청크 목록의 위치입니다. 그렇지 않으면 NULL
.
설명
CDocument::GetAdapter
인터페이스를 구현하는 개체에 대한 포인터를 IDocument
반환합니다.
virtual ATL::IDocument* GetAdapter();
Return Value
인터페이스를 구현하는 개체에 대한 포인터입니다 IDocument
.
설명
CDocument::GetDocTemplate
이 함수를 호출하여 이 문서 형식의 문서 서식 파일에 대한 포인터를 가져옵니다.
CDocTemplate* GetDocTemplate() const;
Return Value
이 문서 형식의 문서 서식 파일에 대한 포인터이거나, 문서가 문서 서식 파일에서 관리되지 않는 경우 NULL입니다.
예시
// This example accesses the doc template object to construct
// a default document name such as SHEET.XLS, where "sheet"
// is the base document name and ".xls" is the file extension
// for the document type.
CString strDefaultDocName, strBaseName, strExt;
CDocTemplate *pDocTemplate = GetDocTemplate();
if (!pDocTemplate->GetDocString(strBaseName, CDocTemplate::docName) || !pDocTemplate->GetDocString(strExt, CDocTemplate::filterExt))
{
AfxThrowUserException(); // These doc template strings will
// be available if you created the application using AppWizard
// and specified the file extension as an option for
// the document class produced by AppWizard.
}
strDefaultDocName = strBaseName + strExt;
CDocument::GetFile
이 멤버 함수를 호출하여 개체에 대한 포인터를 가져옵니다 CFile
.
virtual CFile* GetFile(
LPCTSTR lpszFileName,
UINT nOpenFlags,
CFileException* pError);
매개 변수
lpszFileName
원하는 파일의 경로인 문자열입니다. 경로는 상대 경로이거나 절대 경로일 수 있습니다.
pError
작업의 완료 상태를 나타내는 기존 파일 예외 개체에 대한 포인터입니다.
nOpenFlags
공유 및 액세스 모드입니다. 파일을 열 때 수행할 작업을 지정합니다. 비트 OR(|
) 연산자를 사용하여 CFile 생성자에 CFile::CFile
나열된 옵션을 결합할 수 있습니다. 하나의 액세스 권한과 하나의 공유 옵션이 필요합니다. 및 modeCreate
modeNoInherit
모드는 선택 사항입니다.
Return Value
CFile
개체에 대한 포인터입니다.
CDocument::GetFirstViewPosition
이 함수를 호출하여 문서와 연결된 뷰 목록에서 첫 번째 보기의 위치를 가져옵니다.
virtual POSITION GetFirstViewPosition() const;
Return Value
POSITION
멤버 함수를 사용한 반복에 사용할 수 있는 GetNextView
값입니다.
예시
//To get the first view in the list of views:
//To get the first view in the list of views:
// POSITION pos = GetFirstViewPosition();
// CView* pFirstView = GetNextView(pos);
//
// This example uses CDocument::GetFirstViewPosition
// and GetNextView to repaint each view.
// An easier way to accomplish the same result is to call
// UpdateAllViews(NULL);
void CExampleDoc::OnRepaintAllViews()
{
POSITION pos = GetFirstViewPosition();
while (pos != NULL)
{
CView *pView = GetNextView(pos);
pView->UpdateWindow();
}
}
CDocument::GetNextView
이 함수를 호출하여 문서의 모든 보기를 반복합니다.
virtual CView* GetNextView(POSITION& rPosition) const;
매개 변수
rPosition
또는 GetFirstViewPosition
멤버 함수에 대한 POSITION
이전 호출에서 반환된 값에 대한 GetNextView
참조입니다. 이 값은 이어야 NULL
합니다.
Return Value
로 식별되는 뷰에 대한 포인터입니다 rPosition
.
설명
함수는 식별된 rPosition
뷰를 반환한 다음 목록에서 다음 보기의 값으로 설정합니다 rPosition
POSITION
. 검색된 뷰가 목록 rPosition
의 마지막 보기이면 .로 설정 NULL
됩니다.
예시
//To get the first view in the list of views:
//To get the first view in the list of views:
// POSITION pos = GetFirstViewPosition();
// CView* pFirstView = GetNextView(pos);
//
// This example uses CDocument::GetFirstViewPosition
// and GetNextView to repaint each view.
// An easier way to accomplish the same result is to call
// UpdateAllViews(NULL);
void CExampleDoc::OnRepaintAllViews()
{
POSITION pos = GetFirstViewPosition();
while (pos != NULL)
{
CView *pView = GetNextView(pos);
pView->UpdateWindow();
}
}
CDocument::GetPathName
이 함수를 호출하여 문서 디스크 파일의 정규화된 경로를 가져옵니다.
const CString& GetPathName() const;
Return Value
문서의 정규화된 경로입니다. 문서가 저장되지 않았거나 연결된 디스크 파일이 없는 경우 이 문자열은 비어 있습니다.
CDocument::GetThumbnail
썸네일 공급자가 축소판 그림을 표시하는 데 사용할 비트맵을 만듭니다.
virtual BOOL GetThumbnail(
UINT cx,
HBITMAP* phbmp,
DWORD* pdwAlpha);
매개 변수
cx
비트맵의 너비와 높이를 지정합니다.
phbmp
함수가 성공적으로 반환되는 비트맵에 대한 핸들을 포함합니다.
pdwAlpha
함수가 DWORD
성공적으로 반환되는 경우 알파 채널 값을 지정하는 것을 포함합니다.
Return Value
썸네일의 비트맵이 성공적으로 만들어졌는지를 반환 TRUE
하고, 그렇지 않으면 FALSE
반환합니다.
설명
CDocument::GetTitle
일반적으로 문서의 파일 이름에서 파생되는 문서의 제목을 얻으려면 이 함수를 호출합니다.
const CString& GetTitle() const;
Return Value
문서의 제목입니다.
CDocument::InitializeSearchContent
검색 처리기의 검색 콘텐츠를 초기화하기 위해 호출됩니다.
virtual void InitializeSearchContent ();
설명
파생 클래스에서 이 메서드를 재정의하여 검색 콘텐츠를 초기화합니다. 콘텐츠는 ";"로 구분된 파트가 있는 문자열이어야 합니다. 예: "point; 직사각형; ole item".
CDocument::IsModified
문서를 마지막으로 저장한 이후 수정되었는지 여부를 확인하려면 이 함수를 호출합니다.
virtual BOOL IsModified();
Return Value
문서가 마지막으로 저장된 이후 수정된 경우 0이 아닌 경우 그렇지 않으면 0입니다.
CDocument::IsSearchAndOrganizeHandler
검색 및 구성 처리기에 대해 이 인스턴스 CDocument
가 만들어졌는지 여부를 알려줍니다.
BOOL IsSearchAndOrganizeHandler() const;
Return Value
검색 및 구성 처리기에 대해 이 인스턴스 CDocument
가 만들어졌는지를 반환 TRUE
합니다.
설명
현재 이 함수는 Out of process 서버에서 구현된 Rich Preview 처리기에 대해서만 반환 TRUE
됩니다. 애플리케이션 수준에서 적절한 플래그(m_bPreviewHandlerMode
, m_bSearchMode
, m_bGetThumbnailMode
)를 설정하여 이 함수를 반환 TRUE
할 수 있습니다.
CDocument::LoadDocumentFromStream
스트림에서 문서 데이터를 로드하기 위해 호출됩니다.
virtual HRESULT LoadDocumentFromStream(
IStream* pStream,
DWORD dwGrfMode);
매개 변수
pStream
스트림에 대한 포인터입니다. 이 스트림은 셸에서 제공합니다.
dwGrfMode
스트림에 대한 액세스 모드입니다.
Return Value
S_OK
로드 작업이 성공하면 오류 코드가 있으면 이고, 그렇지 않으면 HRESULT
오류 코드가 있습니다.
설명
파생 클래스에서 이 메서드를 재정의하여 스트림에서 데이터를 로드하는 방법을 사용자 지정할 수 있습니다.
CDocument::m_bGetThumbnailMode
썸네일을 CDocument
위해 dllhost에서 개체를 만들게 지정합니다. 에서 체크 인 CView::OnDraw
해야 합니다.
BOOL m_bGetThumbnailMode;
설명
TRUE
는 썸네일을 위해 dllhost에서 문서를 만들었음을 나타냅니다.
CDocument::m_bPreviewHandlerMode
CDocument
리치 미리 보기에 대한 prevhost에서 개체를 만들게 지정합니다. 에서 체크 인 CView::OnDraw
해야 합니다.
BOOL m_bPreviewHandlerMode;
설명
TRUE
는 리치 미리 보기에 대한 사전 호스팅에서 문서를 만들었기를 나타냅니다.
CDocument::m_bSearchMode
개체가 CDocument
인덱서 또는 다른 검색 애플리케이션에 의해 생성되었음을 지정합니다.
BOOL m_bSearchMode;
설명
TRUE
는 문서가 인덱서 또는 다른 검색 애플리케이션에 의해 생성되었음을 나타냅니다.
CDocument::m_clrRichPreviewBackColor
리치 미리 보기 창의 배경색을 지정합니다. 이 색은 호스트에 의해 설정됩니다.
COLORREF m_clrRichPreviewBackColor;
설명
CDocument::m_clrRichPreviewTextColor
리치 미리 보기 창의 전경색을 지정합니다. 이 색은 호스트에 의해 설정됩니다.
COLORREF m_clrRichPreviewTextColor;
설명
CDocument::m_lfRichPreviewFont
리치 미리 보기 창의 텍스트 글꼴을 지정합니다. 이 글꼴 정보는 호스트에 의해 설정됩니다.
CFont m_lfRichPreviewFont;
설명
CDocument::OnBeforeRichPreviewFontChanged
리치 미리 보기 글꼴이 변경되기 전에 호출됩니다.
virtual void OnBeforeRichPreviewFontChanged();
설명
CDocument::OnChangedViewList
보기가 문서에 추가되거나 문서에서 제거된 후 프레임워크에서 호출됩니다.
virtual void OnChangedViewList();
설명
이 함수의 기본 구현은 마지막 보기가 제거되고 있는지 여부를 확인하고, 있는 경우 문서를 삭제합니다. 프레임워크가 뷰를 추가하거나 제거할 때 특수 처리를 수행하려는 경우 이 함수를 재정의합니다. 예를 들어 첨부된 보기가 없는 경우에도 문서를 열어 두려면 이 함수를 재정의합니다.
CDocument::OnCloseDocument
일반적으로 파일 닫기 명령의 일부로 문서를 닫을 때 프레임워크에서 호출됩니다.
virtual void OnCloseDocument();
설명
이 함수의 기본 구현은 문서를 보는 데 사용되는 모든 프레임을 삭제하고, 보기를 닫고, 문서의 내용을 정리한 다음, 멤버 함수를 호출 DeleteContents
하여 문서의 데이터를 삭제합니다.
프레임워크에서 문서를 닫을 때 특수 정리 처리를 수행하려는 경우 이 함수를 재정의합니다. 예를 들어 문서가 데이터베이스의 레코드를 나타내는 경우 이 함수를 재정의하여 데이터베이스를 닫을 수 있습니다. 재정의에서 이 함수의 기본 클래스 버전을 호출해야 합니다.
CDocument::OnCreatePreviewFrame
리치 미리 보기에 대한 미리 보기 프레임을 만들어야 하는 경우 프레임워크에서 호출됩니다.
virtual BOOL OnCreatePreviewFrame();
Return Value
프레임이 성공적으로 만들어졌는지를 반환하고, 그렇지 않으면 FALSE
반환 TRUE
합니다.
설명
CDocument::OnDocumentEvent
문서 이벤트에 대한 응답으로 프레임워크에서 호출됩니다.
virtual void OnDocumentEvent(DocumentEvent deEvent);
매개 변수
deEvent
[in] 이벤트 형식을 설명하는 열거형 데이터 형식입니다.
설명
문서 이벤트는 여러 클래스에 영향을 줄 수 있습니다. 이 메서드는 클래스 이외의 클래스에 영향을 주는 문서 이벤트를 처리 합니다.CDocument
현재 문서 이벤트에 응답해야 하는 유일한 클래스는 클래스입니다CDataRecoveryHandler
. 클래스에는 CDocument
에 미치는 영향을 처리하는 다른 재정의 가능한 메서드가 CDocument
있습니다.
다음 표에서는 가능한 값 deEvent
과 해당되는 이벤트를 나열합니다.
값 | 해당 이벤트 |
---|---|
onAfterNewDocument |
새 문서가 만들어졌습니다. |
onAfterOpenDocument |
새 문서가 열렸습니다. |
onAfterSaveDocument |
문서가 저장되었습니다. |
onAfterCloseDocument |
문서가 닫혔습니다. |
CDocument::OnDrawThumbnail
파생 클래스에서 이 메서드를 재정의하여 썸네일을 그립니다.
virtual void OnDrawThumbnail(
CDC& dc,
LPRECT lprcBounds);
매개 변수
dc
디바이스 컨텍스트에 대한 참조입니다.
lprcBounds
축소판 그림을 그려야 하는 영역의 경계 사각형을 지정합니다.
설명
CDocument::OnFileSendMail
문서를 첨부 파일로 사용하여 상주 메일 호스트(있는 경우)를 통해 메시지를 보냅니다.
void OnFileSendMail();
설명
OnFileSendMail
호출 OnSaveDocument
하여 제목 없는 문서를 직렬화(저장)하고 수정한 문서를 임시 파일로 저장한 다음 전자 메일을 통해 전송합니다. 문서가 수정되지 않은 경우 임시 파일이 필요하지 않습니다. 원본이 전송됩니다. OnFileSendMail
는 아직 로드되지 않은 경우 MAPI32.DLL 로드합니다.
복합 파일을 올바르게 처리하는 특수 구현 OnFileSendMail
COleDocument
입니다.
CDocument
는 MAPI(메일 지원)가 있는 경우 메일을 통해 문서 전송을 지원합니다. MFC의 MAPI 토픽 및 MAPI 지원 문서를 참조하세요.
CDocument::OnLoadDocumentFromStream
스트림에서 문서 데이터를 로드해야 하는 경우 프레임워크에서 호출됩니다.
virtual HRESULT OnLoadDocumentFromStream(
IStream* pStream,
DWORD grfMode);
매개 변수
pStream
들어오는 스트림에 대한 포인터입니다.
grfMode
스트림에 대한 액세스 모드입니다.
Return Value
S_OK
로드가 성공하면 이고, 그렇지 않으면 오류 코드입니다.
설명
CDocument::OnNewDocument
새 파일 명령의 일부로 프레임워크에서 호출됩니다.
virtual BOOL OnNewDocument();
Return Value
문서가 성공적으로 초기화된 경우 0이 아닌 경우 그렇지 않으면 0입니다.
설명
이 함수의 기본 구현에서는 멤버 함수를 DeleteContents
호출하여 문서가 비어 있는지 확인하고 새 문서를 정리된 것으로 표시합니다. 이 함수를 재정의하여 새 문서의 데이터 구조를 초기화합니다. 재정의에서 이 함수의 기본 클래스 버전을 호출해야 합니다.
사용자가 SDI 애플리케이션에서 새 파일 명령을 선택하는 경우 프레임워크는 이 함수를 사용하여 새 문서를 만드는 대신 기존 문서를 다시 초기화합니다. 사용자가 MDI(다중 문서 인터페이스) 애플리케이션에서 새로 파일 새로 만들기를 선택하는 경우 프레임워크는 매번 새 문서를 만든 다음 이 함수를 호출하여 초기화합니다. SDI 애플리케이션에서 적용하려면 File New 명령이 생성자 대신 이 함수에 초기화 코드를 배치해야 합니다.
두 번 호출되는 경우가 OnNewDocument
있습니다. 이 문제는 문서가 ActiveX 문서 서버로 포함되는 경우에 발생합니다. 함수는 먼저 메서드(-derived 클래스에 의해 노출됨)에 의해 CreateInstance
COleObjectFactory
호출되고 메서드에 의해 InitNew
두 번째로 호출됩니다(-derived 클래스에 COleServerDoc
의해 노출됨).
예시
다음 예제에서는 문서 개체를 초기화하는 다른 방법을 보여 줍니다.
// Method 1: In an MDI application, the simplest place to do
// initialization is in the document constructor. The framework
// always creates a new document object for File New or File Open.
CExampleDoc::CExampleDoc()
{
// Do initialization of MDI document here.
}
// Method 2: In an SDI or MDI application, do all initialization
// in an override of OnNewDocument, if you are certain that
// the initialization is effectively saved upon File Save
// and fully restored upon File Open, via serialization.
BOOL CMyDoc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
{
return FALSE;
}
// Do initialization of new document here.
return TRUE;
}
// Method 3: If the initialization of your document is not
// effectively saved and restored by serialization (during File Save
// and File Open), then implement the initialization in single
// function (named InitMyDocument in this example). Call the
// shared initialization function from overrides of both
// OnNewDocument and OnOpenDocument.
BOOL CExampleDoc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
{
return FALSE;
}
InitMyDocument(); // call your shared initialization function
// If your new document object requires additional initialization
// not necessary when the document is deserialized via File Open,
// then perform that additional initialization here.
return TRUE;
}
CDocument::OnOpenDocument
파일 열기 명령의 일부로 프레임워크에서 호출됩니다.
virtual BOOL OnOpenDocument(LPCTSTR lpszPathName);
매개 변수
lpszPathName
열 문서의 경로를 가리킵니다.
Return Value
문서가 성공적으로 로드된 경우 0이 아닌 경우 그렇지 않으면 0입니다.
설명
이 함수의 기본 구현은 지정된 파일을 열고, 멤버 함수를 호출 DeleteContents
하여 문서가 비어 있는지 확인하고, 파일의 내용을 읽도록 호출 CObject::Serialize
한 다음, 문서를 정리된 것으로 표시합니다. 보관 메커니즘 또는 파일 메커니즘 이외의 항목을 사용하려는 경우 이 함수를 재정의합니다. 예를 들어 문서가 별도의 파일이 아닌 데이터베이스의 레코드를 나타내는 애플리케이션을 작성할 수 있습니다.
사용자가 SDI 애플리케이션에서 파일 열기 명령을 선택하는 경우 프레임워크는 이 함수를 사용하여 새 개체를 만드는 대신 기존 개체를 CDocument
다시 초기화합니다. 사용자가 MDI 애플리케이션에서 파일 열기를 선택하는 경우 프레임워크는 매번 새 CDocument
개체를 생성한 다음 이 함수를 호출하여 초기화합니다. SDI 애플리케이션에서 적용하려면 파일 열기 명령의 생성자 대신 이 함수에 초기화 코드를 배치해야 합니다.
예시
다음 예제에서는 문서 개체를 초기화하는 다른 방법을 보여 줍니다.
// Method 1: In an MDI application, the simplest place to do
// initialization is in the document constructor. The framework
// always creates a new document object for File New or File Open.
CExampleDoc::CExampleDoc()
{
// Do initialization of MDI document here.
}
// Method 2: In an SDI or MDI application, do all initialization
// in an override of OnNewDocument, if you are certain that
// the initialization is effectively saved upon File Save
// and fully restored upon File Open, via serialization.
BOOL CMyDoc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
{
return FALSE;
}
// Do initialization of new document here.
return TRUE;
}
// Method 3: If the initialization of your document is not
// effectively saved and restored by serialization (during File Save
// and File Open), then implement the initialization in single
// function (named InitMyDocument in this example). Call the
// shared initialization function from overrides of both
// OnNewDocument and OnOpenDocument.
BOOL CExampleDoc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
{
return FALSE;
}
InitMyDocument(); // call your shared initialization function
// If your new document object requires additional initialization
// not necessary when the document is deserialized via File Open,
// then perform that additional initialization here.
return TRUE;
}
// Additional example of OnOpenDocument()
BOOL CExampleDoc::OnOpenDocument(LPCTSTR lpszPathName)
{
if (!CDocument::OnOpenDocument(lpszPathName))
{
return FALSE;
}
InitMyDocument(); // call your shared initialization function
return TRUE;
}
CDocument::OnPreviewHandlerQueryFocus
미리 보기 처리기가 함수 호출에서 검색된 것을 반환 HWND
하도록 지시합니다 GetFocus
.
virtual HRESULT OnPreviewHandlerQueryFocus(HWND* phwnd);
매개 변수
phwnd
[out] 이 메서드가 반환될 때 미리 보기 처리기의 포그라운드 스레드에서 함수를 GetFocus
호출하여 반환된 HWND에 대한 포인터를 포함합니다.
Return Value
성공하면 반환하고, 그렇지 않으면 오류 값을 반환 S_OK
합니다.
설명
CDocument::OnPreviewHandlerTranslateAccelerator
미리 보기 처리기가 실행 중인 프로세스의 메시지 펌프에서 전달된 키 입력을 처리하도록 미리 보기 처리기를 지시합니다.
virtual HRESULT OnPreviewHandlerTranslateAccelerator(MSG* pmsg);
매개 변수
pmsg
[in] 창 메시지에 대한 포인터입니다.
Return Value
미리 보기 처리기에서 키 입력 메시지를 처리할 수 있으면 처리기가 이를 처리하고 반환합니다 S_OK
. 미리 보기 처리기가 키 입력 메시지를 처리할 수 없는 경우 이를 통해 호스트 IPreviewHandlerFrame::TranslateAccelerator
에 제공합니다. 호스트가 메시지를 처리하면 이 메서드가 반환됩니다 S_OK
. 호스트가 메시지를 처리하지 않으면 이 메서드가 반환됩니다 S_FALSE
.
설명
CDocument::OnRichPreviewBackColorChanged
리치 미리 보기 배경색이 변경될 때 호출됩니다.
virtual void OnRichPreviewBackColorChanged();
설명
CDocument::OnRichPreviewFontChanged
리치 미리 보기 글꼴이 변경되면 호출합니다.
virtual void OnRichPreviewFontChanged();
설명
CDocument::OnRichPreviewSiteChanged
Rich Preview 사이트가 변경될 때 호출됩니다.
virtual void OnRichPreviewSiteChanged();
설명
CDocument::OnRichPreviewTextColorChanged
리치 미리 보기 텍스트 색이 변경될 때 호출됩니다.
virtual void OnRichPreviewTextColorChanged();
설명
CDocument::OnSaveDocument
파일 저장 또는 파일 다른 이름으로 저장 명령의 일부로 프레임워크에서 호출됩니다.
virtual BOOL OnSaveDocument(LPCTSTR lpszPathName);
매개 변수
lpszPathName
파일을 저장할 정규화된 경로를 가리킵니다.
Return Value
문서를 성공적으로 저장한 경우 0이 아닌 경우 그렇지 않으면 0입니다.
설명
이 함수의 기본 구현은 지정된 파일을 열고, 문서의 데이터를 파일에 쓰기 위해 호출 CObject::Serialize
한 다음, 문서를 정리된 것으로 표시합니다. 프레임워크에서 문서를 저장할 때 특수 처리를 수행하려는 경우 이 함수를 재정의합니다. 예를 들어 문서가 별도의 파일이 아닌 데이터베이스의 레코드를 나타내는 애플리케이션을 작성할 수 있습니다.
CDocument::OnUnloadHandler
미리 보기 처리기가 언로드될 때 프레임워크에서 호출됩니다.
virtual void OnUnloadHandler();
설명
CDocument::OnUpdateFileSendMail
ID_FILE_SEND_MAIL
MAPI(메일 지원)가 있는 경우 명령을 사용하도록 설정합니다.
void OnUpdateFileSendMail(CCmdUI* pCmdUI);
매개 변수
pCmdUI
명령과 연결된 개체에 CCmdUI
대한 포인터입니다 ID_FILE_SEND_MAIL
.
설명
그렇지 않으면 함수는 메뉴 항목 위 또는 아래에 있는 구분 기호를 포함하여 메뉴에서 명령을 적절하게 제거 ID_FILE_SEND_MAIL
합니다. MAPI는 경로에 있고 파일의 WIN.INI
[메일] 섹션에서 MAPI=1에 있는 경우 MAPI32.DLL
사용하도록 설정됩니다. 대부분의 애플리케이션은 이 명령을 파일 메뉴에 배치합니다.
CDocument
는 MAPI(메일 지원)가 있는 경우 메일을 통해 문서 전송을 지원합니다. MFC의 MAPI 토픽 및 MAPI 지원 문서를 참조하세요.
CDocument::PreCloseFrame
프레임 창이 제거되기 전에 프레임워크에서 이 멤버 함수를 호출합니다.
virtual void PreCloseFrame(CFrameWnd* pFrame);
매개 변수
pFrame
연결된 개체를 CFrameWnd
보유하는 포인터입니다 CDocument
.
설명
사용자 지정 정리를 제공하기 위해 재정의할 수 있지만 기본 클래스도 호출해야 합니다.
기본값 PreCloseFrame
은 .에서 CDocument
아무 것도 수행하지 않습니다. CDocument
파생 클래스이며 COleDocument
CRichEditDoc
이 멤버 함수를 사용합니다.
CDocument::ReadNextChunkValue
다음 청크 값을 읽습니다.
virtual BOOL ReadNextChunkValue(IFilterChunkValue** ppValue);
매개 변수
ppValue
[out] 함수가 반환되면 ppValue
읽은 값이 포함됩니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
CDocument::ReleaseFile
이 멤버 함수는 프레임워크에서 파일을 해제하여 다른 애플리케이션에서 사용할 수 있도록 합니다.
virtual void ReleaseFile(
CFile* pFile,
BOOL bAbort);
매개 변수
pFile
해제할 개체에 대한 CFile
포인터입니다.
bAbort
파일을 해제할지 또는 .를 사용하여 CFile::Close
CFile::Abort
해제할지 여부를 지정합니다. FALSE
를 사용하여 파일을 해제하려면 . TRUE
를 사용하여 CFile::Close
CFile::Abort
파일을 해제합니다.
설명
이 TRUE
ReleaseFile
경우 bAbort
호출CFile::Abort
하고 파일이 해제됩니다. CFile::Abort
는 예외를 throw하지 않습니다.
이 FALSE
ReleaseFile
경우 bAbort
호출 CFile::Close
및 파일이 해제됩니다.
파일이 해제되기 전에 사용자가 작업을 요구하도록 이 멤버 함수를 재정의합니다.
CDocument::RemoveChunk
지정된 GUID
청크를 제거합니다.
virtual void RemoveChunk(
REFCLSID guid,
DWORD pid);
매개 변수
Guid
제거할 청크를 지정 GUID
합니다.
Pid
제거할 청크를 지정 PID
합니다.
설명
CDocument::RemoveView
문서에서 보기를 분리하려면 이 함수를 호출합니다.
void RemoveView(CView* pView);
매개 변수
pView
제거되는 뷰를 가리킵니다.
설명
이 함수는 문서와 연결된 뷰 목록에서 지정된 뷰를 제거합니다. 또한 뷰의 문서 포인터를 .로 NULL
설정합니다. 프레임 창이 닫혀 있거나 분할자 창의 창이 닫힌 경우 프레임워크에서 이 함수를 호출합니다.
뷰를 수동으로 분리하는 경우에만 이 함수를 호출합니다. 일반적으로 문서 클래스, 뷰 클래스 및 프레임 창 클래스를 연결할 개체를 정의하여 CDocTemplate
프레임워크에서 문서와 뷰를 분리할 수 있습니다.
샘플 구현에 대한 예제 AddView
를 참조하세요.
CDocument::ReportSaveLoadException
문서를 저장하거나 로드하는 동안 예외가 throw되면 호출됩니다(일반적으로 a CFileException
또는 CArchiveException
).
virtual void ReportSaveLoadException(
LPCTSTR lpszPathName,
CException* e,
BOOL bSaving,
UINT nIDPDefault);
매개 변수
lpszPathName
저장되거나 로드된 문서의 이름을 가리킵니다.
e
throw된 예외를 가리킵니다. NULL
일 수 있습니다.
bSaving
진행 중인 작업을 나타내는 플래그입니다. 문서가 저장되는 경우 0이 아닌 경우 문서가 로드되고 있으면 0입니다.
nIDPDefault
함수가 보다 구체적인 메시지를 지정하지 않으면 표시할 오류 메시지의 식별자입니다.
설명
기본 구현은 예외 개체를 검사하고 원인을 구체적으로 설명하는 오류 메시지를 찾습니다. 특정 메시지를 찾을 수 없거나 있는 경우 e
NULL
매개 변수로 nIDPDefault
지정된 일반 메시지가 사용됩니다. 그런 다음 함수는 오류 메시지가 포함된 메시지 상자를 표시합니다. 사용자 지정된 추가 오류 메시지를 제공하려는 경우 이 함수를 재정의합니다. 이는 고급 재정의 가능입니다.
CDocument::SaveModified
수정된 문서를 닫기 전에 프레임워크에서 호출합니다.
virtual BOOL SaveModified();
Return Value
문서를 계속하여 닫는 것이 안전한 경우 0이 아닌 경우 문서를 닫지 않아야 하는 경우 0입니다.
설명
이 함수의 기본 구현에는 변경 내용이 있는 경우 문서에 저장할지 여부를 묻는 메시지 상자가 표시됩니다. 프로그램에 다른 프롬프트 프로시저가 필요한 경우 이 함수를 재정의합니다. 이는 고급 재정의 가능입니다.
CDocument::SetChunkValue
청크 값을 설정합니다.
virtual BOOL SetChunkValue (IFilterChunkValue* pValue);
매개 변수
pValue
설정할 청크 값을 지정합니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
CDocument::SetModifiedFlag
문서를 수정한 후 이 함수를 호출합니다.
virtual void SetModifiedFlag(BOOL bModified = TRUE);
매개 변수
bModified
문서가 수정되었는지 여부를 나타내는 플래그입니다.
설명
이 함수를 일관되게 호출하면 프레임워크에서 문서를 닫기 전에 변경 내용을 저장하라는 메시지를 사용자에게 표시합니다. 일반적으로 매개 변수의 TRUE
기본값을 bModified
사용해야 합니다. 문서를 정리(수정되지 않음)로 표시하려면 이 함수를 값 FALSE
으로 호출합니다.
CDocument::SetPathName
이 함수를 호출하여 문서 디스크 파일의 정규화된 경로를 지정합니다.
virtual void SetPathName(
LPCTSTR lpszPathName,
BOOL bAddToMRU = TRUE);
매개 변수
lpszPathName
문서의 경로로 사용할 문자열을 가리킵니다.
bAddToMRU
파일 이름이 가장 최근에 사용된(MRU) 파일 목록에 추가되는지 여부를 확인합니다. 이면 TRUE
파일 이름이 추가되고, 추가 FALSE
되지 않으면 추가되지 않습니다.
설명
경로 값 bAddToMRU
에 따라 애플리케이션에서 유지 관리하는 MRU 목록에 추가되거나 추가되지 않습니다. 일부 문서는 디스크 파일과 연결되지 않습니다. 프레임워크에서 사용하는 파일을 열고 저장하기 위해 기본 구현을 재정의하는 경우에만 이 함수를 호출합니다.
CDocument::SetTitle
이 함수를 호출하여 문서의 제목(프레임 창의 제목 표시줄에 표시되는 문자열)을 지정합니다.
virtual void SetTitle(LPCTSTR lpszTitle);
매개 변수
lpszTitle
문서의 제목으로 사용할 문자열을 가리킵니다.
설명
이 함수를 호출하면 문서를 표시하는 모든 프레임 창의 제목이 업데이트됩니다.
CDocument::UpdateAllViews
문서가 수정된 후 이 함수를 호출합니다.
void UpdateAllViews(
CView* pSender,
LPARAM lHint = 0L,
CObject* pHint = NULL);
매개 변수
pSender
문서를 수정한 뷰를 가리키거나 NULL
모든 보기를 업데이트할 것인지를 가리킵니다.
lHint
수정에 대한 정보를 포함합니다.
pHint
수정에 대한 정보를 저장하는 개체를 가리킵니다.
설명
멤버 함수를 호출한 후 이 함수를 SetModifiedFlag
호출해야 합니다. 이 함수는 문서에서 지정한 뷰를 제외하고 문서에 첨부된 각 보기에 pSender
문서가 수정되었음을 알릴 수 있습니다. 사용자가 보기를 통해 문서를 변경한 후 일반적으로 뷰 클래스에서 이 함수를 호출합니다.
이 함수는 CView::OnUpdate
보내는 뷰, 전달 pHint
및 을 제외한 각 문서의 뷰에 대한 멤버 함수를 호출합니다 lHint
. 이러한 매개 변수를 사용하여 문서의 수정 내용에 대한 정보를 뷰에 전달합니다. 사용 하 여 lHint
정보를 인코딩할 수 있습니다 및/또는 수정에 대 한 CObject
정보를 저장 하 고 사용 하 여 pHint
해당 클래스의 개체를 전달 하는 파생된 클래스를 정의할 수 있습니다. 전달된 정보에 따라 뷰 표시의 업데이트를 최적화하기 위해 파생 클래스의 멤버 함수CView
를 재정 CView::OnUpdate
의합니다.
예시
void CExampleDoc::OnUpdateAllViews()
{
UpdateAllViews(NULL);
}
참고 항목
MFC 샘플 MDIDOCVW
MFC 샘플 SNAPVW
MFC 샘플 NPP
CCmdTarget
수업
계층 구조 차트
CCmdTarget
수업
CView
수업
CDocTemplate
수업