다음을 통해 공유


컨테이너: Client-Item 알림

이 문서에서는 서버 애플리케이션이 클라이언트 애플리케이션의 문서에서 항목을 수정할 때 MFC 프레임워크에서 호출하는 재정의 가능한 함수에 대해 설명합니다.

COleClientItem 은 서버 애플리케이션이라고도 하는 구성 요소 애플리케이션의 요청에 대한 응답으로 호출되는 몇 가지 재정의 가능한 함수를 정의합니다. 이러한 재정의 가능 항목들은 일반적으로 알림 역할을 합니다. 스크롤, 활성화 또는 위치 변경과 같은 다양한 이벤트와 항목을 편집하거나 조작할 때 사용자가 변경한 내용을 컨테이너 애플리케이션에 알립니다.

프레임워크는 구현이 필요한 재정의 가능한 함수 `COleClientItem::OnChange`를 호출하여 컨테이너 애플리케이션에 변경 사항을 알립니다. 이 보호된 함수는 두 개의 인수를 받습니다. 첫 번째는 서버가 항목을 변경한 이유를 지정합니다.

통지 의미
OLE_변경됨 OLE 항목의 모양이 변경되었습니다.
OLE_SAVED OLE 항목이 저장되었습니다.
OLE_CLOSED OLE 항목이 닫혔습니다.
OLE_RENAMED OLE 항목이 포함된 서버 문서의 이름이 바뀌었습니다.
OLE_CHANGED_STATE OLE 항목이 한 상태에서 다른 상태로 변경되었습니다.
OLE_CHANGED_ASPECT OLE 항목의 그리기 측면이 프레임워크에 의해 변경되었습니다.

이러한 값은 AFXOLE.H에 정의된 OLE_NOTIFICATION 열거형에서 가져옵니다.

이 함수의 두 번째 인수는 항목이 변경된 방법 또는 항목이 입력한 상태를 지정합니다.

첫 번째 인수가 두 번째 인수
OLE_SAVED 또는 OLE_CLOSED 사용되지 않습니다.
OLE_변경됨 변경된 OLE 항목의 측면을 지정합니다.
OLE_CHANGED_STATE 입력되는 상태(emptyState, loadedState, openState, activeState 또는 activeUIState)를 설명합니다.

클라이언트 항목이 가정할 수 있는 상태에 대한 자세한 내용은 컨테이너: Client-Item 상태를 참조하세요.

프레임워크는 인라인 편집을 위해 항목이 활성화될 때 COleClientItem::OnGetItemPosition를 호출합니다. 직접 편집을 지원하는 애플리케이션에는 구현이 필요합니다. MFC 애플리케이션 마법사는 CRect의 기본 구현을 제공하며, 이는 항목의 좌표를 인수로 전달된 OnGetItemPosition 개체에 할당합니다.

현재 위치 편집 중에 OLE 항목의 위치 또는 크기가 변경되면 항목의 위치 및 클리핑 사각형에 대한 컨테이너 정보를 업데이트해야 하며 서버는 변경 내용에 대한 정보를 받아야 합니다. 프레임워크는 이 목적을 위해 COleClientItem::OnChangeItemPosition를 호출합니다. MFC 애플리케이션 마법사는 기본 클래스의 함수를 호출하는 재정의를 제공합니다. 애플리케이션 마법사가 작성한 COleClientItem 파생 클래스의 함수를 편집하여 그 함수가 클라이언트 객체에 의해 유지되는 모든 정보를 업데이트하도록 해야 합니다.

참고하십시오

컨테이너
컨테이너: Client-Item 상태
COleClientItem::OnChangeItemPosition