컨테이너: 클라이언트 항목 알림
이 문서에서는 서버 애플리케이션이 클라이언트 애플리케이션의 문서에서 항목을 수정할 때 MFC 프레임워크에서 호출하는 재정의 가능한 함수에 대해 설명합니다.
COleClientItem 은 서버 애플리케이션이라고도 하는 구성 요소 애플리케이션의 요청에 대한 응답으로 호출되는 몇 가지 재정의 가능한 함수를 정의합니다. 이러한 재정의 가능 파일은 일반적으로 알림 역할을 합니다. 스크롤, 활성화 또는 위치 변경과 같은 다양한 이벤트와 항목을 편집하거나 조작할 때 사용자가 변경한 내용을 컨테이너 애플리케이션에 알립니다.
프레임워크는 구현이 필요한 재정의 가능한 함수인 호출을 COleClientItem::OnChange
통해 컨테이너 애플리케이션에 변경 내용을 알릴 수 있습니다. 이 보호된 함수는 두 개의 인수를 받습니다. 첫 번째는 서버가 항목을 변경한 이유를 지정합니다.
알림 | 의미 |
---|---|
OLE_CHANGED | 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_CHANGED | 변경된 OLE 항목의 측면을 지정합니다. |
OLE_CHANGED_STATE | 입력되는 상태(emptyState, loadedState, openState, activeState 또는 activeUIState)를 설명합니다. |
클라이언트 항목이 가정할 수 있는 상태에 대한 자세한 내용은 컨테이너: 클라이언트-항목 상태를 참조 하세요.
프레임워크는 현재 위치 편집을 위해 항목이 활성화될 때 호출 COleClientItem::OnGetItemPosition
합니다. 현재 위치 편집을 지원하는 애플리케이션에는 구현이 필요합니다. MFC 애플리케이션 마법사는 인수로 전달되는 개체에 항목의 좌표를 할당하는 CRect
기본 구현을 OnGetItemPosition
제공합니다.
현재 위치 편집 중에 OLE 항목의 위치 또는 크기가 변경되면 항목의 위치 및 클리핑 사각형에 대한 컨테이너 정보를 업데이트해야 하며 서버는 변경 내용에 대한 정보를 받아야 합니다. 프레임워크는 이 목적을 요구 COleClientItem::OnChangeItemPosition
합니다. MFC 애플리케이션 마법사는 기본 클래스의 함수를 호출하는 재정의를 제공합니다. 애플리케이션 마법사가 -derived 클래스에 대해 COleClientItem
작성하는 함수를 편집하여 함수가 클라이언트 항목 개체에 의해 유지되는 모든 정보를 업데이트할 수 있도록 해야 합니다.