COleClientItem 클래스
OLE 항목에 대한 컨테이너 인터페이스를 정의합니다.
구문
class COleClientItem : public CDocItem
멤버
공용 생성자
속성 | 설명 |
---|---|
COleClientItem::COleClientItem | COleClientItem 개체를 생성합니다. |
공용 메서드
이름 | 설명 |
---|---|
COleClientItem::Activate | 작업에 대한 OLE 항목을 연 다음 지정된 동사를 실행합니다. |
COleClientItem::ActivateAs | 항목을 다른 형식으로 활성화합니다. |
COleClientItem::AttachDataObject | OLE 개체의 데이터에 액세스합니다. |
COleClientItem::CanCreateFromData | 컨테이너 애플리케이션이 포함된 개체를 만들 수 있는지 여부를 나타냅니다. |
COleClientItem::CanCreateLinkFromData | 컨테이너 애플리케이션이 연결된 개체를 만들 수 있는지 여부를 나타냅니다. |
COleClientItem::CanPaste | 클립보드에 포함 가능 항목 또는 정적 OLE 항목이 포함되어 있는지 여부를 나타냅니다. |
COleClientItem::CanPasteLink | 클립보드에 연결 가능한 OLE 항목이 포함되어 있는지 여부를 나타냅니다. |
COleClientItem::Close | 서버에 대한 링크를 닫지만 OLE 항목을 삭제하지는 않습니다. |
COleClientItem::ConvertTo | 항목을 다른 형식으로 변환합니다. |
COleClientItem::CopyToClipboard | OLE 항목을 클립보드에 복사합니다. |
COleClientItem::CreateCloneFrom | 기존 항목의 복제본을 만듭니다. |
COleClientItem::CreateFromClipboard | 클립보드에서 포함된 항목을 만듭니다. |
COleClientItem::CreateFromData | 데이터 개체에서 포함된 항목을 만듭니다. |
COleClientItem::CreateFromFile | 파일에서 포함된 항목을 만듭니다. |
COleClientItem::CreateLinkFromClipboard | 클립보드에서 연결된 항목을 만듭니다. |
COleClientItem::CreateLinkFromData | 데이터 개체에서 연결된 항목을 만듭니다. |
COleClientItem::CreateLinkFromFile | 파일에서 연결된 항목을 만듭니다. |
COleClientItem::CreateNewItem | 서버 애플리케이션을 시작하여 포함된 새 항목을 만듭니다. |
COleClientItem::CreateStaticFromClipboard | 클립보드에서 정적 항목을 만듭니다. |
COleClientItem::CreateStaticFromData | 데이터 개체에서 정적 항목을 만듭니다. |
COleClientItem::Deactivate | 항목을 비활성화합니다. |
COleClientItem::DeactivateUI | 컨테이너 애플리케이션의 사용자 인터페이스를 원래 상태로 복원합니다. |
COleClientItem::Delete | 연결된 항목인 경우 OLE 항목을 삭제하거나 닫습니다. |
COleClientItem::DoDragDrop | 끌어서 놓기 작업을 수행합니다. |
COleClientItem::DoVerb | 지정된 동사를 실행합니다. |
COleClientItem::Draw | OLE 항목을 그립니다. |
COleClientItem::GetActiveView | 항목이 현재 위치에서 활성화되는 보기를 가져옵니다. |
COleClientItem::GetCachedExtent | OLE 항목 사각형의 범위를 반환합니다. |
COleClientItem::GetClassID | 현재 항목의 클래스 ID를 가져옵니다. |
COleClientItem::GetClipboardData | 멤버 함수를 호출 CopyToClipboard 하여 클립보드에 배치할 데이터를 가져옵니다. |
COleClientItem::GetDocument | COleDocument 현재 항목이 들어 있는 개체를 반환합니다. |
COleClientItem::GetDrawAspect | 렌더링할 항목의 현재 보기를 가져옵니다. |
COleClientItem::GetExtent | OLE 항목 사각형의 범위를 반환합니다. |
COleClientItem::GetIconFromRegistry | 특정 CLSID의 서버와 연결된 아이콘에 대한 핸들을 검색합니다. |
COleClientItem::GetIconicMetafile | 항목의 아이콘을 그리는 데 사용되는 메타파일을 가져옵니다. |
COleClientItem::GetInPlaceWindow | 항목의 현재 위치 편집 창에 대한 포인터를 반환합니다. |
COleClientItem::GetItemState | 항목의 현재 상태를 가져옵니다. |
COleClientItem::GetLastStatus | 마지막 OLE 작업의 상태를 반환합니다. |
COleClientItem::GetLinkUpdateOptions | 연결된 항목의 업데이트 모드를 반환합니다(고급 기능). |
COleClientItem::GetType | OLE 항목의 형식(포함, 연결 또는 정적)을 반환합니다. |
COleClientItem::GetUserType | 항목의 형식을 설명하는 문자열을 가져옵니다. |
COleClientItem::IsInPlaceActive | 항목이 현재 위치 활성 상태이면 TRUE를 반환합니다. |
COleClientItem::IsLinkUpToDate | 연결된 항목이 원본 문서를 최신 상태로 유지하면 TRUE를 반환합니다. |
COleClientItem::IsModified | 항목이 마지막으로 저장된 이후 수정된 경우 TRUE를 반환합니다. |
COleClientItem::IsOpen | 항목이 현재 서버 애플리케이션에서 열려 있는 경우 TRUE를 반환합니다. |
COleClientItem::IsRunning | 항목의 서버 애플리케이션이 실행 중인 경우 TRUE를 반환합니다. |
COleClientItem::OnActivate | 항목이 활성화되었음을 알리기 위해 프레임워크에서 호출됩니다. |
COleClientItem::OnActivateUI | 활성화되고 사용자 인터페이스를 표시해야 하며 항목에 알리기 위해 프레임워크에서 호출됩니다. |
COleClientItem::OnChange | 서버가 OLE 항목을 변경할 때 호출됩니다. 구현이 필요합니다. |
COleClientItem::OnDeactivate | 항목이 비활성화될 때 프레임워크에서 호출됩니다. |
COleClientItem::OnDeactivateUI | 서버가 현재 위치 사용자 인터페이스를 제거한 경우 프레임워크에서 호출됩니다. |
COleClientItem::OnGetClipboardData | 클립보드에 복사할 데이터를 가져오기 위해 프레임워크에서 호출됩니다. |
COleClientItem::OnInsertMenus | 복합 메뉴를 만들기 위해 프레임워크에서 호출됩니다. |
COleClientItem::OnRemoveMenus | 복합 메뉴에서 컨테이너의 메뉴를 제거하기 위해 프레임워크에서 호출됩니다. |
COleClientItem::OnSetMenu | 복합 메뉴를 설치하고 제거하기 위해 프레임워크에서 호출됩니다. |
COleClientItem::OnShowControlBars | 컨트롤 막대를 표시하고 숨기기 위해 프레임워크에서 호출됩니다. |
COleClientItem::OnUpdateFrameTitle | 프레임 창의 제목 표시줄을 업데이트하기 위해 프레임워크에서 호출됩니다. |
COleClientItem::ReactivateAndUndo | 항목을 다시 활성화하고 마지막 현재 위치 편집 작업을 실행 취소합니다. |
COleClientItem::Release | OLE 연결된 항목에 대한 연결을 해제하고 열려 있는 경우 닫습니다. 클라이언트 항목을 삭제하지 않습니다. |
COleClientItem::Reload | 를 호출한 후 항목을 다시 로드합니다 ActivateAs . |
COleClientItem::Run | 항목과 연결된 애플리케이션을 실행합니다. |
COleClientItem::SetDrawAspect | 렌더링을 위해 항목의 현재 보기를 설정합니다. |
COleClientItem::SetExtent | OLE 항목의 경계 사각형을 설정합니다. |
COleClientItem::SetHostNames | OLE 항목을 편집할 때 서버가 표시하는 이름을 설정합니다. |
COleClientItem::SetIconicMetafile | 항목의 아이콘을 그리는 데 사용되는 메타파일을 캐시합니다. |
COleClientItem::SetItemRects | 항목의 경계 사각형을 설정합니다. |
COleClientItem::SetLinkUpdateOptions | 연결된 항목의 업데이트 모드를 설정합니다(고급 기능). |
COleClientItem::SetPrintDevice | 이 클라이언트 항목에 대한 인쇄 대상 디바이스를 설정합니다. |
COleClientItem::UpdateLink | 항목의 프레젠테이션 캐시를 업데이트합니다. |
보호된 메서드
속성 | 설명 |
---|---|
COleClientItem::CanActivate | 현재 위치 활성화가 허용되는지 여부를 결정하기 위해 프레임워크에서 호출됩니다. |
COleClientItem::OnChangeItemPosition | 항목의 위치가 변경되면 프레임워크에서 호출됩니다. |
COleClientItem::OnDeactivateAndUndo | 활성화 후 실행 취소를 위해 프레임워크에서 호출됩니다. |
COleClientItem::OnDiscardUndoState | 항목의 실행 취소 상태 정보를 삭제하기 위해 프레임워크에서 호출됩니다. |
COleClientItem::OnGetClipRect | 항목의 클리핑 사각형 좌표를 가져오기 위해 프레임워크에서 호출됩니다. |
COleClientItem::OnGetItemPosition | 보기에 상대적인 항목의 위치를 가져오기 위해 프레임워크에서 호출됩니다. |
COleClientItem::OnGetWindowContext | 항목이 활성화될 때 프레임워크에서 호출됩니다. |
COleClientItem::OnScrollBy | 프레임워크에서 호출하여 항목을 보기로 스크롤합니다. |
COleClientItem::OnShowItem | OLE 항목을 표시하기 위해 프레임워크에서 호출됩니다. |
설명
OLE 항목은 서버 애플리케이션에서 만들고 유지 관리하는 데이터를 나타내며, 사용자가 단일 문서로 표시되도록 문서에 "원활하게" 통합될 수 있습니다. 결과는 OLE 항목과 포함된 문서로 구성된 "복합 문서"입니다.
OLE 항목은 포함되거나 연결될 수 있습니다. 포함된 경우 해당 데이터는 복합 문서의 일부로 저장됩니다. 연결된 경우 해당 데이터는 서버 애플리케이션에서 만든 별도의 파일의 일부로 저장되고 해당 파일에 대한 링크만 복합 문서에 저장됩니다. 모든 OLE 항목에는 해당 항목을 편집하기 위해 호출해야 하는 서버 애플리케이션을 지정하는 정보가 포함됩니다.
COleClientItem
는 서버 애플리케이션의 요청에 대한 응답으로 호출되는 몇 가지 재정의 가능한 함수를 정의합니다. 이러한 재정의 가능 파일은 일반적으로 알림 역할을 합니다. 이렇게 하면 서버 애플리케이션이 OLE 항목을 편집할 때 사용자가 변경한 내용을 컨테이너에 알리거나 편집하는 동안 필요한 정보를 검색할 수 있습니다.
COleClientItem
는 COleDocument, COleLinkingDoc 또는 COleServerDoc 클래스와 함께 사용할 수 있습니다. 사용COleClientItem
하려면 클래스를 파생시키고 컨테이너가 항목에 대한 변경 내용에 응답하는 방법을 정의하는 OnChange 멤버 함수를 구현합니다. 현재 위치 활성화를 지원하려면 OnGetItemPosition 멤버 함수를 재정의합니다. 이 함수는 OLE 항목의 표시된 위치에 대한 정보를 제공합니다.
컨테이너 인터페이스 사용에 대한 자세한 내용은 컨테이너: 컨테이너 및 활성화 구현 문서를 참조하세요.
참고 항목
Windows SDK는 포함된 항목과 연결된 항목을 "개체"로 참조하고 항목 유형을 "클래스"로 참조합니다. 이 참조는 "item"이라는 용어를 사용하여 OLE 엔터티를 해당 C++ 개체와 구분하고 "type"이라는 용어를 사용하여 OLE 범주를 C++ 클래스와 구분합니다.
상속 계층 구조
COleClientItem
요구 사항
헤더: afxole.h
COleClientItem::Activate
예외가 throw될 때 사용자 고유의 처리를 수행할 수 있도록 이 함수를 호출하여 DoVerb 대신 지정된 동사를 실행합니다.
void Activate(
LONG nVerb,
CView* pView,
LPMSG lpMsg = NULL);
매개 변수
nVerb
실행할 동사를 지정합니다. 다음 중 하나일 수 있습니다.
값 | 의미 | 기호 |
---|---|---|
-0 | 기본 동사 | OLEIVERB_PRIMARY |
- 1 | 보조 동사 | (없음) |
- 1 | 편집할 항목 표시 | OLEIVERB_SHOW |
- 2 | 별도의 창에서 항목 편집 | OLEIVERB_OPEN |
- 3 | 항목 숨기기 | OLEIVERB_HIDE |
-1 값은 일반적으로 다른 동사의 별칭입니다. 열린 편집이 지원되지 않는 경우 -2는 -1과 같은 효과를 집니다. 추가 값 은 Windows SDK의 IOleObject::D oVerb 을 참조하세요.
pView
OLE 항목이 포함된 컨테이너 뷰 창에 대한 포인터입니다. 서버 애플리케이션에서 현재 위치 정품 인증에 사용됩니다. 컨테이너가 현재 위치 활성화를 지원하지 않는 경우 이 매개 변수는 NULL이어야 합니다.
lpMsg
항목이 활성화된 메시지에 대한 포인터입니다.
설명
Microsoft Foundation 클래스 라이브러리를 사용하여 서버 애플리케이션을 작성한 경우 이 함수는 해당 COleServerItem
개체의 OnDoVerb 멤버 함수를 실행합니다.
기본 동사가 Edit이고 nVerb 매개 변수에 0이 지정된 경우 OLE 항목을 편집할 수 있도록 서버 애플리케이션이 시작됩니다. 컨테이너 애플리케이션이 현재 위치 활성화를 지원하는 경우 편집을 수행할 수 있습니다. 컨테이너가 현재 위치 정품 인증을 지원하지 않거나 Open 동사가 지정된 경우 서버가 별도의 창에서 시작되고 편집을 수행할 수 있습니다. 일반적으로 컨테이너 애플리케이션 사용자가 OLE 항목을 두 번 클릭하면 nVerb 매개 변수의 기본 동사 값에 따라 사용자가 수행할 수 있는 작업이 결정됩니다. 그러나 서버가 하나의 작업만 지원하는 경우 nVerb 매개 변수에 지정된 값에 관계없이 해당 작업을 수행합니다.
자세한 내용은 Windows SDK의 IOleObject::D oVerb 을 참조하세요.
COleClientItem::ActivateAs
OLE의 개체 변환 기능을 사용하여 항목을 clsidNew에서 지정한 형식의 항목인 것처럼 활성화합니다.
virtual BOOL ActivateAs(
LPCTSTR lpszUserType,
REFCLSID clsidOld,
REFCLSID clsidNew);
매개 변수
lpszUserType
대상 사용자 유형을 나타내는 문자열(예: "Word 문서")에 대한 포인터입니다.
clsidOld
항목의 현재 클래스 ID에 대한 참조입니다. 클래스 ID는 링크가 아닌 한 저장된 실제 개체의 형식을 나타내야 합니다. 이 경우 링크가 참조하는 항목의 CLSID여야 합니다. COleConvertDialog는 항목에 대한 올바른 클래스 ID를 자동으로 제공합니다.
clsidNew
대상 클래스 ID에 대한 참조입니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
COleConvertDialog::D oConvert에서 자동으로 호출됩니다. 일반적으로 직접 호출되지 않습니다.
COleClientItem::AttachDataObject
이 함수를 호출하여 OLE 항목의 데이터에 액세스하기 위한 COleDataObject 를 초기화합니다.
void AttachDataObject(COleDataObject& rDataObject) const;
매개 변수
rDataObject
OLE 항목의 COleDataObject
데이터에 대한 액세스를 허용하도록 초기화될 개체에 대한 참조입니다.
COleClientItem::CanActivate
사용자가 OLE 항목의 현재 위치 활성화를 요청할 때 프레임워크에서 호출됩니다. 이 함수의 반환 값은 현재 위치 활성화가 허용되는지 여부를 결정합니다.
virtual BOOL CanActivate();
Return Value
현재 위치 활성화가 허용되는 경우 0이 아닌 경우 그렇지 않으면 0입니다.
설명
기본 구현은 컨테이너에 유효한 창이 있는 경우 현재 위치 활성화를 허용합니다. 활성화 요청을 수락하거나 거부하는 특수 논리를 구현하도록 이 함수를 재정의합니다. 예를 들어 OLE 항목이 너무 작거나 현재 표시되지 않는 경우 활성화 요청을 거부할 수 있습니다.
자세한 내용은 Windows SDK에서 IOleInPlaceSite::CanInPlaceActivate 를 참조하세요.
COleClientItem::CanCreateFromData
컨테이너 애플리케이션이 지정된 COleDataObject
개체에서 포함된 개체를 만들 수 있는지 여부를 확인합니다.
static BOOL PASCAL CanCreateFromData(const COleDataObject* pDataObject);
매개 변수
pDataObject
OLE 항목을 만들 COleDataObject 개체에 대한 포인터입니다.
Return Value
컨테이너가 개체에서 COleDataObject
포함된 개체를 만들 수 있으면 0이 아니고, 그렇지 않으면 0입니다.
설명
이 COleDataObject
클래스는 클립보드, 끌어서 놓기 또는 포함된 OLE 항목에서 다양한 형식으로 데이터를 검색하기 위한 데이터 전송에 사용됩니다.
컨테이너는 이 함수를 사용하여 붙여넣기 편집 및 붙여넣기 편집 명령을 사용하거나 사용하지 않도록 설정할 수 있습니다.
자세한 내용은 OLE(데이터 개체 및 데이터 원본) 문서를 참조하세요.
COleClientItem::CanCreateLinkFromData
컨테이너 애플리케이션이 지정된 COleDataObject
개체에서 연결된 개체를 만들 수 있는지 여부를 확인합니다.
static BOOL PASCAL CanCreateLinkFromData(const COleDataObject* pDataObject);
매개 변수
pDataObject
OLE 항목을 만들 COleDataObject 개체에 대한 포인터입니다.
Return Value
컨테이너가 개체에서 연결된 개체를 만들 수 있는 경우 0이 아닌 경우 COleDataObject
설명
이 COleDataObject
클래스는 클립보드, 끌어서 놓기 또는 포함된 OLE 항목에서 다양한 형식으로 데이터를 검색하기 위한 데이터 전송에 사용됩니다.
컨테이너는 이 함수를 사용하여 붙여넣기 편집 및 붙여넣기 링크 편집 명령을 사용하거나 사용하지 않도록 설정할 수 있습니다.
자세한 내용은 OLE(데이터 개체 및 데이터 원본) 문서를 참조하세요.
COleClientItem::CanPaste
이 함수를 호출하여 포함된 OLE 항목을 클립보드에서 붙여넣을 수 있는지 확인합니다.
static BOOL PASCAL CanPaste();
Return Value
포함된 OLE 항목을 클립보드에서 붙여넣을 수 있는 경우 0이 아닌 경우 그렇지 않으면 0입니다.
설명
자세한 내용은 Windows SDK의 OleGetClipboard 및 OleQueryCreateFromData 를 참조하세요.
COleClientItem::CanPasteLink
이 함수를 호출하여 연결된 OLE 항목을 클립보드에서 붙여넣을 수 있는지 확인합니다.
static BOOL PASCAL CanPasteLink();
Return Value
연결된 OLE 항목을 클립보드에서 붙여넣을 수 있는 경우 0이 아닌 경우 그렇지 않으면 0입니다.
설명
자세한 내용은 Windows SDK의 OleGetClipboard 및 OleQueryLinkFromData 를 참조하세요.
COleClientItem::Close
이 함수를 호출하여 OLE 항목의 상태를 실행 상태에서 로드된 상태로 변경합니다. 즉, 메모리의 처리기와 함께 로드되지만 서버는 실행되지 않습니다.
void Close(OLECLOSE dwCloseOption = OLECLOSE_SAVEIFDIRTY);
매개 변수
dwCloseOption
OLE 항목이 로드된 상태로 반환될 때 저장되는 상황에서 지정하는 플래그입니다. 다음 값 중 하나를 가질 수 있습니다.
OLECLOSE_SAVEIFDIRTY OLE 항목을 저장합니다.
OLECLOSE_NOSAVE OLE 항목을 저장하지 마세요.
OLECLOSE_PROMPTSAVE 사용자에게 OLE 항목을 저장할지 여부를 묻는 메시지를 표시합니다.
설명
이 함수는 OLE 항목이 실행되고 있지 않을 때 영향을 주지 않습니다.
자세한 내용은 Windows SDK에서 IOleObject::Close 를 참조하세요.
COleClientItem::COleClientItem
개체를 COleClientItem
생성하고 C++ 개체만 생성하고 OLE 초기화를 수행하지 않는 컨테이너 문서의 문서 항목 컬렉션에 추가합니다.
COleClientItem(COleDocument* pContainerDoc = NULL);
매개 변수
pContainerDoc
이 항목을 포함할 컨테이너 문서에 대한 포인터입니다. COleDocument 파생물일 수 있습니다.
설명
NULL 포인터를 전달하면 컨테이너 문서에 추가되지 않습니다. COleDocument::AddItem을 명시적으로 호출해야 합니다.
OLE 항목을 사용하려면 먼저 다음 만들기 멤버 함수 중 하나를 호출해야 합니다.
COleClientItem::ConvertTo
이 멤버 함수를 호출하여 항목을 clsidNew에 지정된 형식으로 변환합니다.
virtual BOOL ConvertTo(REFCLSID clsidNew);
매개 변수
clsidNew
대상 형식의 클래스 ID입니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
COleConvertDialog에서 자동으로 호출됩니다. 메서드를 직접 호출 하는 데 필요한 것입니다.
COleClientItem::CopyToClipboard
OLE 항목을 클립보드에 복사하려면 이 함수를 호출합니다.
void CopyToClipboard(BOOL bIncludeLink = FALSE);
매개 변수
bIncludeLink
링크 정보를 클립보드에 복사하여 연결된 항목을 붙여넣을 수 있으면 TRUE입니다. 그렇지 않으면 FALSE입니다.
설명
일반적으로 편집 메뉴에서 복사 또는 잘라내기 명령에 대한 메시지 처리기를 작성할 때 이 함수를 호출합니다. 복사 또는 잘라내기 명령을 구현하려면 컨테이너 애플리케이션에서 항목 선택을 구현해야 합니다.
자세한 내용은 Windows SDK의 OleSetClipboard 를 참조하세요.
COleClientItem::CreateCloneFrom
이 함수를 호출하여 지정된 OLE 항목의 복사본을 만듭니다.
BOOL CreateCloneFrom(const COleClientItem* pSrcItem);
매개 변수
pSrcItem
복제할 OLE 항목에 대한 포인터입니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
복사본은 원본 항목과 동일합니다. 이 함수를 사용하여 실행 취소 작업을 지원할 수 있습니다.
COleClientItem::CreateFromClipboard
클립보드의 내용에서 포함된 항목을 만들려면 이 함수를 호출합니다.
BOOL CreateFromClipboard(
OLERENDER render = OLERENDER_DRAW,
CLIPFORMAT cfFormat = 0,
LPFORMATETC lpFormatEtc = NULL);
매개 변수
render
서버가 OLE 항목을 렌더링하는 방법을 지정하는 플래그입니다. 가능한 값은 Windows SDK의 OLERENDER를 참조하세요.
cfFormat
OLE 항목을 만들 때 캐시할 클립보드 데이터 형식을 지정합니다.
lpFormatEtc
렌더링이 OLERENDER_FORMAT 또는 OLERENDER_DRAW 경우에 사용되는 FORMATETC 구조체에 대한 포인터입니다. cfFormat에서 지정한 클립보드 형식 이외의 추가 형식 정보를 지정하려는 경우에만 이 매개 변수에 대한 값을 제공합니다. 이 매개 변수를 생략하면 구조체의 다른 필드에 기본값이 FORMATETC
사용됩니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
일반적으로 편집 메뉴의 붙여넣기 명령에 대한 메시지 처리기에서 이 함수를 호출합니다. (붙여넣기 명령은 인 경우 프레임워크에서 사용하도록 설정됩니다.CanPaste 멤버 함수는 0이 아닌 값을 반환합니다.)
자세한 내용은 Windows SDK의 OLERENDER 및 FORMATETC 를 참조하세요.
COleClientItem::CreateFromData
개체에서 포함된 항목을 만들려면 이 함수를 COleDataObject
호출합니다.
BOOL CreateFromData(
COleDataObject* pDataObject,
OLERENDER render = OLERENDER_DRAW,
CLIPFORMAT cfFormat = 0,
LPFORMATETC lpFormatEtc = NULL);
매개 변수
pDataObject
OLE 항목을 만들 COleDataObject 개체에 대한 포인터입니다.
render
서버가 OLE 항목을 렌더링하는 방법을 지정하는 플래그입니다. 가능한 값은 Windows SDK의 OLERENDER를 참조하세요.
cfFormat
OLE 항목을 만들 때 캐시할 클립보드 데이터 형식을 지정합니다.
lpFormatEtc
렌더링이 OLERENDER_FORMAT 또는 OLERENDER_DRAW 경우에 사용되는 FORMATETC 구조체에 대한 포인터입니다. cfFormat에서 지정한 클립보드 형식 이외의 추가 형식 정보를 지정하려는 경우에만 이 매개 변수에 대한 값을 제공합니다. 이 매개 변수를 생략하면 구조체의 다른 필드에 기본값이 FORMATETC
사용됩니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
클립보드에서 붙여넣기 또는 끌어서 놓기 작업과 같은 데이터 전송 작업은 서버 애플리케이션에서 제공하는 정보를 포함하는 개체를 제공합니다 COleDataObject
. 일반적으로 CView::OnDrop의 재정의에 사용됩니다.
자세한 내용은 Windows SDK의 OleCreateFromData, OLERENDER 및 FORMATETC 를 참조하세요.
COleClientItem::CreateFromFile
파일에서 포함된 OLE 항목을 만들려면 이 함수를 호출합니다.
BOOL CreateFromFile(
LPCTSTR lpszFileName,
REFCLSID clsid = CLSID_NULL,
OLERENDER render = OLERENDER_DRAW,
CLIPFORMAT cfFormat = 0,
LPFORMATETC lpFormatEtc = NULL);
매개 변수
lpszFileName
OLE 항목을 만들 파일의 이름에 대한 포인터입니다.
clsid
향후 사용을 위해 예약되어 있습니다.
render
서버가 OLE 항목을 렌더링하는 방법을 지정하는 플래그입니다. 가능한 값은 Windows SDK의 OLERENDER를 참조하세요.
cfFormat
OLE 항목을 만들 때 캐시할 클립보드 데이터 형식을 지정합니다.
lpFormatEtc
렌더링이 OLERENDER_FORMAT 또는 OLERENDER_DRAW 경우에 사용되는 FORMATETC 구조체에 대한 포인터입니다. cfFormat에서 지정한 클립보드 형식 이외의 추가 형식 정보를 지정하려는 경우에만 이 매개 변수에 대한 값을 제공합니다. 이 매개 변수를 생략하면 구조체의 다른 필드에 기본값이 FORMATETC
사용됩니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
사용자가 파일에서 만들기 단추를 선택할 때 개체 삽입 대화 상자에서 확인을 선택하는 경우 프레임워크는 COleInsertDialog::CreateItem 에서 이 함수를 호출합니다.
자세한 내용은 Windows SDK의 OleCreateFromFile, OLERENDER 및 FORMATETC 를 참조하세요.
COleClientItem::CreateLinkFromClipboard
클립보드의 내용에서 연결된 항목을 만들려면 이 함수를 호출합니다.
BOOL CreateLinkFromClipboard(
OLERENDER render = OLERENDER_DRAW,
CLIPFORMAT cfFormat = 0,
LPFORMATETC lpFormatEtc = NULL);
매개 변수
render
서버가 OLE 항목을 렌더링하는 방법을 지정하는 플래그입니다. 가능한 값은 Windows SDK의 OLERENDER를 참조하세요.
cfFormat
OLE 항목을 만들 때 캐시할 클립보드 데이터 형식을 지정합니다.
lpFormatEtc
렌더링이 OLERENDER_FORMAT 또는 OLERENDER_DRAW 경우에 사용되는 FORMATETC 구조체에 대한 포인터입니다. cfFormat에서 지정한 클립보드 형식 이외의 추가 형식 정보를 지정하려는 경우에만 이 매개 변수에 대한 값을 제공합니다. 이 매개 변수를 생략하면 구조체의 다른 필드에 기본값이 FORMATETC
사용됩니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
일반적으로 편집 메뉴의 붙여넣기 링크 명령에 대한 메시지 처리기에서 이 함수를 호출합니다. (링크 붙여넣기 명령은 의 기본 구현에서 사용하도록 설정됩니다.클립보드에 연결할 수 있는 OLE 항목이 포함되어 있으면 COleDocument 입니다.)
자세한 내용은 Windows SDK의 OLERENDER 및 FORMATETC 를 참조하세요.
COleClientItem::CreateLinkFromData
개체에서 연결된 항목을 만들려면 이 함수를 COleDataObject
호출합니다.
BOOL CreateLinkFromData(
COleDataObject* pDataObject,
OLERENDER render = OLERENDER_DRAW,
CLIPFORMAT cfFormat = 0,
LPFORMATETC lpFormatEtc = NULL);
매개 변수
pDataObject
OLE 항목을 만들 COleDataObject 개체에 대한 포인터입니다.
render
서버가 OLE 항목을 렌더링하는 방법을 지정하는 플래그입니다. 가능한 값은 Windows SDK의 OLERENDER를 참조하세요.
cfFormat
OLE 항목을 만들 때 캐시할 클립보드 데이터 형식을 지정합니다.
lpFormatEtc
렌더링이 OLERENDER_FORMAT 또는 OLERENDER_DRAW 경우에 사용되는 FORMATETC 구조체에 대한 포인터입니다. cfFormat에서 지정한 클립보드 형식 이외의 추가 형식 정보를 지정하려는 경우에만 이 매개 변수에 대한 값을 제공합니다. 이 매개 변수를 생략하면 구조체의 다른 필드에 기본값이 FORMATETC
사용됩니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
사용자가 링크를 만들어야 한다고 표시할 때 삭제 작업 중에 이 호출을 호출합니다. 붙여넣기 편집 명령을 처리하는 데 사용할 수도 있습니다. 링크 옵션이 선택되었을 때 COlePasteSpecialDialog::CreateItem의 프레임워크에서 COleClientItem::CreateLinkFromClipboard
호출됩니다.
자세한 내용은 Windows SDK의 OleCreateLinkFromData, OLERENDER 및 FORMATETC 를 참조하세요.
COleClientItem::CreateLinkFromFile
이 함수를 호출하여 파일에서 연결된 OLE 항목을 만듭니다.
BOOL CreateLinkFromFile(
LPCTSTR lpszFileName,
OLERENDER render = OLERENDER_DRAW,
CLIPFORMAT cfFormat = 0,
LPFORMATETC lpFormatEtc = NULL);
매개 변수
lpszFileName
OLE 항목을 만들 파일의 이름에 대한 포인터입니다.
render
서버가 OLE 항목을 렌더링하는 방법을 지정하는 플래그입니다. 가능한 값은 Windows SDK의 OLERENDER를 참조하세요.
cfFormat
OLE 항목을 만들 때 캐시할 클립보드 데이터 형식을 지정합니다.
lpFormatEtc
렌더링이 OLERENDER_FORMAT 또는 OLERENDER_DRAW 경우에 사용되는 FORMATETC 구조체에 대한 포인터입니다. cfFormat에서 지정한 클립보드 형식 이외의 추가 형식 정보를 지정하려는 경우에만 이 매개 변수에 대한 값을 제공합니다. 이 매개 변수를 생략하면 구조체의 다른 필드에 기본값이 FORMATETC
사용됩니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
파일에서 만들기 단추가 선택되고 링크 확인란이 선택되어 있을 때 사용자가 개체 삽입 대화 상자에서 확인을 선택하면 프레임워크에서 이 함수를 호출합니다. COleInsertDialog::CreateItem에서 호출됩니다.
자세한 내용은 Windows SDK의 OleCreateLinkToFile, OLERENDER 및 FORMATETC 를 참조하세요.
COleClientItem::CreateNewItem
이 함수를 호출하여 포함된 항목을 만듭니다. 이 함수는 사용자가 OLE 항목을 만들 수 있도록 하는 서버 애플리케이션을 시작합니다.
BOOL CreateNewItem(
REFCLSID clsid,
OLERENDER render = OLERENDER_DRAW,
CLIPFORMAT cfFormat = 0,
LPFORMATETC lpFormatEtc = NULL);
매개 변수
clsid
만들 OLE 항목의 형식을 고유하게 식별하는 ID입니다.
render
서버가 OLE 항목을 렌더링하는 방법을 지정하는 플래그입니다. 가능한 값은 Windows SDK의 OLERENDER를 참조하세요.
cfFormat
OLE 항목을 만들 때 캐시할 클립보드 데이터 형식을 지정합니다.
lpFormatEtc
렌더링이 OLERENDER_FORMAT 또는 OLERENDER_DRAW 경우에 사용되는 FORMATETC 구조체에 대한 포인터입니다. cfFormat에서 지정한 클립보드 형식 이외의 추가 형식 정보를 지정하려는 경우에만 이 매개 변수에 대한 값을 제공합니다. 이 매개 변수를 생략하면 구조체의 다른 필드에 기본값이 FORMATETC
사용됩니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
사용자가 [새로 만들기] 단추를 선택할 때 [개체 삽입] 대화 상자에서 [확인]을 선택하면 프레임워크에서 이 함수를 호출합니다.
자세한 내용은 Windows SDK의 OleCreate, OLERENDER 및 FORMATETC 를 참조하세요.
COleClientItem::CreateStaticFromClipboard
클립보드의 내용에서 정적 항목을 만들려면 이 함수를 호출합니다.
BOOL CreateStaticFromClipboard(
OLERENDER render = OLERENDER_DRAW,
CLIPFORMAT cfFormat = 0,
LPFORMATETC lpFormatEtc = NULL);
매개 변수
render
서버가 OLE 항목을 렌더링하는 방법을 지정하는 플래그입니다. 가능한 값은 Windows SDK의 OLERENDER를 참조하세요.
cfFormat
OLE 항목을 만들 때 캐시할 클립보드 데이터 형식을 지정합니다.
lpFormatEtc
렌더링이 OLERENDER_FORMAT 또는 OLERENDER_DRAW 경우에 사용되는 FORMATETC 구조체에 대한 포인터입니다. cfFormat에서 지정한 클립보드 형식 이외의 추가 형식 정보를 지정하려는 경우에만 이 매개 변수에 대한 값을 제공합니다. 이 매개 변수를 생략하면 구조체의 다른 필드에 기본값이 FORMATETC
사용됩니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
정적 항목에는 프레젠테이션 데이터가 포함되지만 네이티브 데이터는 포함되지 않습니다. 따라서 편집할 수 없습니다. 일반적으로 CreateFromClipboard 멤버 함수가 실패하는 경우 이 함수를 호출합니다.
자세한 내용은 Windows SDK의 OLERENDER 및 FORMATETC 를 참조하세요.
COleClientItem::CreateStaticFromData
개체에서 정적 항목을 만들려면 이 함수를 COleDataObject
호출합니다.
BOOL CreateStaticFromData(
COleDataObject* pDataObject,
OLERENDER render = OLERENDER_DRAW,
CLIPFORMAT cfFormat = 0,
LPFORMATETC lpFormatEtc = NULL);
매개 변수
pDataObject
OLE 항목을 만들 COleDataObject 개체에 대한 포인터입니다.
render
서버가 OLE 항목을 렌더링하는 방법을 지정하는 플래그입니다. 가능한 값은 Windows SDK의 OLERENDER를 참조하세요.
cfFormat
OLE 항목을 만들 때 캐시할 클립보드 데이터 형식을 지정합니다.
lpFormatEtc
렌더링이 OLERENDER_FORMAT 또는 OLERENDER_DRAW 경우에 사용되는 FORMATETC 구조체에 대한 포인터입니다. cfFormat에서 지정한 클립보드 형식 이외의 추가 형식 정보를 지정하려는 경우에만 이 매개 변수에 대한 값을 제공합니다. 이 매개 변수를 생략하면 구조체의 다른 필드에 기본값이 FORMATETC
사용됩니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
정적 항목에는 프레젠테이션 데이터가 포함되지만 네이티브 데이터는 포함되지 않습니다. 따라서 편집할 수 없습니다. 이는 클립보드뿐만 아니라 임의의 COleDataObject
항목에서 정적 항목을 만들 수 있다는 점을 제외하고 기본적으로 CreateStaticFromClipboard와 동일합니다.
정적이 선택된 경우 COlePasteSpecialDialog::CreateItem에서 사용됩니다.
자세한 내용은 Windows SDK의 OleCreateStaticFromData, OLERENDER 및 FORMATETC 를 참조하세요.
COleClientItem::Deactivate
이 함수를 호출하여 OLE 항목을 비활성화하고 연결된 리소스를 해제합니다.
void Deactivate();
설명
일반적으로 사용자가 항목의 범위 밖에 있는 클라이언트 영역에서 마우스를 클릭할 때 현재 위치 활성 OLE 항목을 비활성화합니다. OLE 항목을 비활성화하면 실행 취소 상태가 삭제되므로 ReactivateAndUndo 멤버 함수를 호출할 수 없습니다.
애플리케이션이 실행 취소를 지원하는 경우 호출Deactivate
하지 말고 DeactivateUI를 호출합니다.
자세한 내용은 Windows SDK에서 IOleInPlaceObject::InPlaceDeactivate 를 참조하세요.
COleClientItem::DeactivateUI
사용자가 현재 위치에서 활성화된 항목을 비활성화할 때 이 함수를 호출합니다.
void DeactivateUI();
설명
이 함수는 컨테이너 애플리케이션의 사용자 인터페이스를 원래 상태로 복원하여 현재 위치 활성화를 위해 만든 메뉴 및 기타 컨트롤을 숨깁니다.
이 함수는 항목에 대한 실행 취소 상태 정보를 플러시하지 않습니다. 이 정보는 나중에 항목을 비활성화한 후 컨테이너의 실행 취소 명령이 선택된 경우 ReactivateAndUndo를 사용하여 서버 애플리케이션에서 실행 취소 명령을 실행할 수 있도록 유지됩니다.
자세한 내용은 Windows SDK에서 IOleInPlaceObject::InPlaceDeactivate 를 참조하세요.
COleClientItem::Delete
컨테이너 문서에서 OLE 항목을 삭제하려면 이 함수를 호출합니다.
void Delete(BOOL bAutoDelete = TRUE);
매개 변수
bAutoDelete
문서에서 항목을 제거할지 여부를 지정합니다.
설명
이 함수는 Release 멤버 함수를 호출하여 항목의 C++ 개체를 삭제하고 문서에서 OLE 항목을 영구적으로 제거합니다. OLE 항목이 포함된 경우 항목의 네이티브 데이터가 삭제됩니다. 항상 실행 중인 서버를 닫습니다. 따라서 항목이 열린 링크인 경우 이 함수는 항목을 닫습니다.
COleClientItem::DoDragDrop
멤버 함수를 DoDragDrop
호출하여 끌어서 놓기 작업을 수행합니다.
DROPEFFECT DoDragDrop(
LPCRECT lpItemRect,
CPoint ptOffset,
BOOL bIncludeLink = FALSE,
DWORD dwEffects = DROPEFFECT_COPY | DROPEFFECT_MOVE,
LPCRECT lpRectStartDrag = NULL);
매개 변수
lpItemRect
클라이언트 좌표(픽셀)의 화면에 있는 항목의 사각형입니다.
ptOffset
끌기 시 마우스 위치가 있었던 lpItemRect의 오프셋입니다.
bIncludeLink
링크 데이터를 클립보드에 복사해야 하는 경우 이를 TRUE로 설정합니다. 서버 애플리케이션이 링크를 지원하지 않는 경우 FALSE로 설정합니다.
dwEffects
끌기 소스가 끌기 작업에서 허용하는 효과를 결정합니다.
lpRectStartDrag
끌기가 실제로 시작되는 위치를 정의하는 사각형에 대한 포인터입니다. 자세한 내용은 아래 설명 부분을 참조하십시오.
Return Value
DROPEFFECT 값입니다. DROPEFFECT_MOVE 경우 원래 데이터를 제거해야 합니다.
설명
끌어서 놓기 작업은 즉시 시작되지 않습니다. 마우스 커서가 lpRectStartDrag로 지정된 사각형을 벗어나거나 지정된 시간(밀리초)이 지나갈 때까지 기다립니다. lpRectStartDrag가 NULL이면 사각형의 크기는 1픽셀입니다.
지연 시간은 레지스트리 키 설정에 의해 지정됩니다. CWinApp::WriteProfileString 또는 CWinApp::WriteProfileInt를 호출하여 지연 시간을 변경할 수 있습니다. 지연 시간을 지정하지 않으면 기본값인 200밀리초가 사용됩니다. 끌기 지연 시간은 다음과 같이 저장됩니다.
Windows NT 끌기 지연 시간은 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\NT\CurrentVersion\IniFileMapping\win.ini\Windows\DragDelay에 저장됩니다.
Windows 3.x 끌기 지연 시간은 WIN에 저장됩니다. [Windows} 섹션 아래의 INI 파일입니다.
Windows 95/98 끌기 지연 시간은 캐시된 버전의 WIN에 저장됩니다. INI.
끌기 지연 정보가 레지스트리 또는 에 저장되는 방법에 대한 자세한 내용은 . INI 파일은 Windows SDK의 WriteProfileString을 참조하세요.
COleClientItem::DoVerb
지정된 동사를 실행하기 위한 호출 DoVerb
입니다.
virtual BOOL DoVerb(
LONG nVerb,
CView* pView,
LPMSG lpMsg = NULL);
매개 변수
nVerb
실행할 동사를 지정합니다. 다음 중 하나를 포함할 수 있습니다.
값 | 의미 | 기호 |
---|---|---|
-0 | 기본 동사 | OLEIVERB_PRIMARY |
- 1 | 보조 동사 | (없음) |
- 1 | 편집할 항목 표시 | OLEIVERB_SHOW |
- 2 | 별도의 창에서 항목 편집 | OLEIVERB_OPEN |
- 3 | 항목 숨기기 | OLEIVERB_HIDE |
-1 값은 일반적으로 다른 동사의 별칭입니다. 열린 편집이 지원되지 않는 경우 -2는 -1과 같은 효과를 집니다. 추가 값 은 Windows SDK의 IOleObject::D oVerb 을 참조하세요.
pView
보기 창에 대한 포인터입니다. 서버에서 현재 위치 정품 인증에 사용됩니다. 컨테이너 애플리케이션에서 현재 위치 활성화를 허용하지 않는 경우 이 매개 변수는 NULL이어야 합니다.
lpMsg
항목이 활성화된 메시지에 대한 포인터입니다.
Return Value
동사가 성공적으로 실행된 경우 0이 아닌 경우 그렇지 않으면 0입니다.
설명
이 함수는 Activate 멤버 함수를 호출하여 동사를 실행합니다. 또한 예외를 catch하고 메시지가 throw된 경우 사용자에게 메시지 상자를 표시합니다.
기본 동사가 Edit이고 nVerb 매개 변수에 0이 지정된 경우 OLE 항목을 편집할 수 있도록 서버 애플리케이션이 시작됩니다. 컨테이너 애플리케이션이 현재 위치 활성화를 지원하는 경우 편집을 수행할 수 있습니다. 컨테이너가 현재 위치 정품 인증을 지원하지 않거나 Open 동사가 지정된 경우 서버가 별도의 창에서 시작되고 편집을 수행할 수 있습니다. 일반적으로 컨테이너 애플리케이션 사용자가 OLE 항목을 두 번 클릭하면 nVerb 매개 변수의 기본 동사 값에 따라 사용자가 수행할 수 있는 작업이 결정됩니다. 그러나 서버가 하나의 작업만 지원하는 경우 nVerb 매개 변수에 지정된 값에 관계없이 해당 작업을 수행합니다.
COleClientItem::Draw
지정된 디바이스 컨텍스트를 사용하여 지정된 경계 사각형에 OLE 항목을 그리려면 이 함수를 호출합니다.
BOOL Draw(
CDC* pDC,
LPCRECT lpBounds,
DVASPECT nDrawAspect = (DVASPECT)-1);
매개 변수
pDC
OLE 항목을 그리는 데 사용되는 CDC 개체에 대한 포인터입니다.
lpBounds
OLE 항목을 그릴 경계 사각형을 정의하는 CRect 개체 또는 RECT
구조체에 대한 포인터입니다(디바이스 컨텍스트에 의해 결정된 논리 단위).
nDrawAspect
OLE 항목의 측면, 즉 표시 방법을 지정합니다. nDrawAspect가 -1이면 SetDrawAspect를 사용하여 설정한 마지막 측면이 사용됩니다. 이 플래그의 가능한 값에 대한 자세한 내용은 SetDrawAspect을 참조하세요.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
함수는 OnDraw 멤버 함수COleServerItem
에서 만든 OLE 항목의 메타파일 표현을 사용할 수 있습니다.
일반적으로 화면 표시에 사용하여 Draw
화면 디바이스 컨텍스트를 pDC로 전달합니다. 이 경우 처음 두 매개 변수만 지정해야 합니다.
lpBounds 매개 변수는 대상 디바이스 컨텍스트에서 현재 매핑 모드를 기준으로 사각형을 식별합니다. 렌더링에는 그림 크기 조정이 포함될 수 있으며, 컨테이너 애플리케이션에서 표시된 보기와 최종 인쇄 이미지 간에 크기가 조정되는 뷰를 적용하는 데 사용할 수 있습니다.
자세한 내용은 Windows SDK에서 IViewObject::D raw 를 참조하세요.
COleClientItem::GetActiveView
항목이 현재 위치로 활성화된 보기를 반환합니다.
CView* GetActiveView() const;
Return Value
뷰에 대한 포인터입니다. 그렇지 않으면 항목이 현재 위치로 활성화되지 않은 경우 NULL입니다.
COleClientItem::GetCachedExtent
이 함수를 호출하여 OLE 항목의 크기를 검색합니다.
BOOL GetCachedExtent(
LPSIZE lpSize,
DVASPECT nDrawAspect = (DVASPECT)-1);
매개 변수
lpSize
SIZE
크기 정보를 받을 구조체 또는 CSize 개체에 대한 포인터입니다.
nDrawAspect
범위를 검색할 OLE 항목의 측면을 지정합니다. 가능한 값은 SetDrawAspect을 참조하세요.
Return Value
성공하면 0이 아닌 값입니다. OLE 항목이 비어 있으면 0입니다.
설명
이 함수는 GetExtent와 동일한 정보를 제공합니다. 그러나 OnChange와 같은 다른 OLE 처리기를 처리하는 동안 익스텐트 정보를 가져오기 위해 호출 GetCachedExtent
할 수 있습니다. 차원은 MM_HIMETRIC 단위입니다.
이는 IOleObject 인터페이스를 사용하여 이 항목의 범위를 가져오는 대신 IViewObject2 인터페이스를 사용하기 때문에 GetCachedExtent
가능합니다. COM 개체는 IViewObject2
이전 IViewObject::D raw 호출에 사용된 익스텐트 정보를 캐시합니다.
자세한 내용은 Windows SDK에서 IViewObject2::GetExtent 를 참조하세요.
COleClientItem::GetClassID
pClassID가 가리키는 메모리에 항목의 클래스 ID를 반환합니다.
void GetClassID(CLSID* pClassID) const;
매개 변수
pClassID
클래스 ID를 검색할 CLSID 형식의 식별자에 대한 포인터입니다. CLSID에 대한 자세한 내용은 Windows SDK를 참조하세요.
설명
클래스 ID는 항목을 편집하는 애플리케이션을 고유하게 식별하는 128비트 숫자입니다.
자세한 내용은 Windows SDK에서 IPersist::GetClassID 를 참조하세요.
COleClientItem::GetClipboardData
CopyToClipboard 멤버 함수를 호출하여 COleDataSource
클립보드에 배치되는 모든 데이터를 포함 하는 개체를 가져오려면 이 함수를 호출합니다.
void GetClipboardData(
COleDataSource* pDataSource,
BOOL bIncludeLink = FALSE,
LPPOINT lpOffset = NULL,
LPSIZE lpSize = NULL);
매개 변수
pDataSource
OLE 항목에 포함된 데이터를 받을 COleDataSource 개체에 대한 포인터입니다.
bIncludeLink
링크 데이터를 포함해야 하는 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.
lpOffset
개체의 원점에서 마우스 커서의 오프셋(픽셀)입니다.
lpSize
개체의 크기(픽셀)입니다.
설명
GetClipboardData
는 OnGetClipboardData의 기본 구현으로 호출됩니다. 에서 제공하는 형식 외에 데이터 형식을 제공CopyToClipboard
하려는 경우에만 재정 OnGetClipboardData
의합니다. 이러한 형식을 호출 CopyToClipboard
전이나 후에 개체에 COleDataSource
배치한 다음 개체를 COleDataSource::SetClipboard 함수에 전달 COleDataSource
합니다. 예를 들어 컨테이너 문서에서 OLE 항목의 위치를 클립보드에 첨부하려면 해당 정보를 전달하기 위한 고유한 형식을 정의하고 호출CopyToClipboard
하기 전에 배치합니다COleDataSource
.
COleClientItem::GetDocument
이 함수를 호출하여 OLE 항목이 포함된 문서에 대한 포인터를 가져옵니다.
COleDocument* GetDocument() const;
Return Value
OLE 항목이 포함된 문서에 대한 포인터입니다. 항목이 문서의 일부가 아닌 경우 NULL입니다.
설명
이 포인터를 사용하면 생성자에 인수로 전달한 개체에 COleClientItem
액세스할 COleDocument
수 있습니다.
COleClientItem::GetDrawAspect
멤버 함수를 GetDrawAspect
호출하여 항목의 현재 "측면" 또는 뷰를 확인합니다.
DVASPECT GetDrawAspect() const;
Return Value
SetDrawAspect에 대한 참조에 값이 나열되는 DVASPECT 열거형의 값입니다.
설명
측면은 항목을 렌더링하는 방법을 지정합니다.
COleClientItem::GetExtent
이 함수를 호출하여 OLE 항목의 크기를 검색합니다.
BOOL GetExtent(
LPSIZE lpSize,
DVASPECT nDrawAspect = (DVASPECT)- 1);
매개 변수
lpSize
SIZE
크기 정보를 받을 구조체 또는 CSize
개체에 대한 포인터입니다.
nDrawAspect
범위를 검색할 OLE 항목의 측면을 지정합니다. 가능한 값은 SetDrawAspect을 참조하세요.
Return Value
성공하면 0이 아닌 값입니다. OLE 항목이 비어 있으면 0입니다.
설명
Microsoft Foundation 클래스 라이브러리를 사용하여 서버 애플리케이션을 작성한 경우 이 함수는 해당 COleServerItem
개체의 OnGetExtent 멤버 함수를 호출합니다. 검색된 크기는 SetExtent 멤버 함수에서 마지막으로 설정한 크기와 다를 수 있습니다. 지정된 SetExtent
크기는 제안으로 처리됩니다. 차원은 MM_HIMETRIC 단위입니다.
자세한 내용은 Windows SDK에서 IOleObject::GetExtent 를 참조하세요.
COleClientItem::GetIconFromRegistry
이 멤버 함수를 호출하여 특정 CLSID의 서버와 연결된 아이콘 리소스에 대한 핸들을 검색합니다.
HICON GetIconFromRegistry() const;
static HICON GetIconFromRegistry(CLSID& clsid);
매개 변수
clsid
아이콘과 연결된 서버에 대한 CLSID에 대한 참조입니다.
Return Value
아이콘 리소스에 대한 유효한 핸들이거나, 서버의 아이콘 또는 기본 아이콘을 찾을 수 없는 경우 NULL입니다.
설명
서버가 이미 실행 중인 경우에도 이 멤버 함수는 서버를 시작하거나 아이콘을 동적으로 가져오지 않습니다. 대신 이 멤버 함수는 서버의 실행 파일을 열고 등록된 서버와 연결된 정적 아이콘을 검색합니다.
COleClientItem::GetIconicMetafile
항목의 아이콘을 그리는 데 사용되는 메타파일을 검색합니다.
HGLOBAL GetIconicMetafile();
Return Value
성공하면 메타파일의 핸들입니다. 그렇지 않으면 NULL입니다.
설명
현재 아이콘이 없으면 기본 아이콘이 반환됩니다. MFC/OLE 대화 상자에서 자동으로 호출되며 일반적으로 직접 호출되지 않습니다.
또한 이 함수는 나중에 사용할 수 있도록 SetIconicMetafile을 호출하여 메타파일을 캐시합니다.
COleClientItem::GetInPlaceWindow
멤버 함수를 GetInPlaceWindow
호출하여 현재 위치 편집을 위해 항목이 열린 창에 대한 포인터를 가져옵니다.
CWnd* GetInPlaceWindow();
Return Value
항목의 현재 위치 편집 창에 대한 포인터입니다. 항목이 활성 상태가 아니거나 서버를 사용할 수 없는 경우 NULL입니다.
설명
이 함수는 현재 위치 활성 항목에 대해서만 호출해야 합니다.
COleClientItem::GetItemState
이 함수를 호출하여 OLE 항목의 현재 상태를 가져옵니다.
UINT GetItemState() const;
Return Value
COleClientItem::ItemState
열거형 값으로, 다음 activeUIState
emptyState
loadedState
openState
activeState
중 하나일 수 있습니다. 이러한 상태에 대한 자세한 내용은 컨테이너: 클라이언트-항목 상태 문서를 참조하세요.
설명
OLE 항목의 상태가 변경될 때 알림을 받도록 하려면 OnChange 멤버 함수를 사용합니다.
자세한 내용은 컨테이너: 클라이언트-항목 상태 문서를 참조하세요.
COleClientItem::GetLastStatus
마지막 OLE 작업의 상태 코드를 반환합니다.
SCODE GetLastStatus() const;
Return Value
SCODE 값입니다.
설명
FALSE의 BOOL 값을 반환하는 멤버 함수 또는 NULL GetLastStatus
을 반환하는 다른 멤버 함수의 경우 더 자세한 오류 정보를 반환합니다. 대부분의 OLE 멤버 함수는 더 심각한 오류에 대한 예외를 throw합니다. SCODE 해석에 대한 특정 정보는 SCODE 값을 마지막으로 반환한 기본 OLE 호출에 따라 달라집니다.
SCODE에 대한 자세한 내용은 Windows SDK 설명서의 COM 오류 코드 구조를 참조하세요.
COleClientItem::GetLinkUpdateOptions
이 함수를 호출하여 OLE 항목에 대한 링크 업데이트 옵션의 현재 값을 가져옵니다.
OLEUPDATE GetLinkUpdateOptions();
Return Value
다음의 값 중 하나입니다.
OLEUPDATE_ALWAYS 가능하면 연결된 항목을 업데이트합니다. 이 옵션은 링크 대화 상자에서 자동 링크 업데이트 라디오 단추를 지원합니다.
OLEUPDATE_ONCALL 컨테이너 애플리케이션의 요청에 따라 연결된 항목만 업데이트합니다(UpdateLink 멤버 함수가 호출되는 경우). 이 옵션은 링크 대화 상자의 수동 링크 업데이트 라디오 단추를 지원합니다.
설명
고급 작업입니다.
이 함수는 COleLinksDialog 클래스에 의해 자동으로 호출됩니다.
자세한 내용은 Windows SDK의 IOleLink::GetUpdateOptions 를 참조하세요.
COleClientItem::GetType
이 함수를 호출하여 OLE 항목이 포함되었는지, 연결되어 있는지 또는 정적인지를 확인합니다.
OLE_OBJTYPE GetType() const;
Return Value
다음 값 중 하나를 사용하는 부호 없는 정수입니다.
OT_LINK OLE 항목은 링크입니다.
OT_EMBEDDED OLE 항목이 포함됩니다.
OT_STATIC OLE 항목은 정적이며, 즉 네이티브 데이터가 아닌 프레젠테이션 데이터만 포함하므로 편집할 수 없습니다.
COleClientItem::GetUserType
이 함수를 호출하여 OLE 항목의 형식을 설명하는 사용자 표시 문자열(예: "Word 문서")을 가져옵니다.
void GetUserType(
USERCLASSTYPE nUserClassType,
CString& rString);
매개 변수
nUserClassType
OLE 항목의 형식을 설명하는 문자열의 원하는 변형을 나타내는 값입니다. 이 값은 다음 값 중 하나를 가질 수 있습니다.
USERCLASSTYPE_FULL 사용자에게 표시되는 전체 형식 이름입니다.
USERCLASSTYPE_SHORT 팝업 메뉴 및 링크 편집 대화 상자에서 사용할 짧은 이름(최대 15자)입니다.
USERCLASSTYPE_APPNAME 클래스를 서비스하는 애플리케이션의 이름입니다.
rString
OLE 항목의 형식을 설명하는 문자열이 반환될 CString 개체에 대한 참조입니다.
설명
시스템 등록 데이터베이스의 항목인 경우가 많습니다.
전체 형식 이름을 요청했지만 사용할 수 없는 경우 짧은 이름이 대신 사용됩니다. 등록 데이터베이스에 OLE 항목 유형에 대한 항목이 없거나 OLE 항목 유형에 대해 등록된 사용자 유형이 없는 경우 현재 OLE 항목에 저장된 사용자 유형이 사용됩니다. 해당 사용자 형식 이름이 빈 문자열인 경우 "알 수 없는 개체"가 사용됩니다.
자세한 내용은 Windows SDK에서 IOleObject::GetUserType 을 참조하세요.
COleClientItem::IsInPlaceActive
이 함수를 호출하여 OLE 항목이 현재 위치 활성 상태인지 확인합니다.
BOOL IsInPlaceActive() const;
Return Value
OLE 항목이 현재 위치 활성 상태이면 0이 아닌 경우 그렇지 않으면 0입니다.
설명
항목이 현재 위치에서 편집되고 있는지 여부에 따라 다른 논리를 실행하는 것이 일반적입니다. 함수는 현재 항목 상태가 같거나 같은 activeState
지 여부를 확인합니다 activeUIState
.
COleClientItem::IsLinkUpToDate
이 함수를 호출하여 OLE 항목이 최신 상태인지 확인합니다.
BOOL IsLinkUpToDate() const;
Return Value
OLE 항목이 최신 상태이면 0이 아닙니다. 그렇지 않으면 0입니다.
설명
원본 문서가 업데이트된 경우 연결된 항목이 만료될 수 있습니다. 포함된 항목 내에 링크가 포함된 항목도 유사하게 만료될 수 있습니다. 함수는 OLE 항목의 재귀 검사를 수행합니다. OLE 항목이 만료되었는지 여부를 확인하는 것은 실제로 업데이트를 수행하는 것만큼 비용이 많이 들 수 있습니다.
이는 COleLinksDialog 구현에 의해 자동으로 호출됩니다.
자세한 내용은 Windows SDK에서 IOleObject::IsUpToDate 를 참조하세요.
COleClientItem::IsModified
이 함수를 호출하여 OLE 항목이 더티(마지막으로 저장된 이후 수정됨)인지 확인합니다.
BOOL IsModified() const;
Return Value
OLE 항목이 더티인 경우 0이 아닌 경우 그렇지 않으면 0입니다.
설명
자세한 내용은 Windows SDK에서 IPersistStorage::IsDirty 를 참조하세요.
COleClientItem::IsOpen
이 함수를 호출하여 OLE 항목이 열려 있는지 확인합니다. 즉, 별도의 창에서 실행되는 서버 애플리케이션의 인스턴스에서 열립니다.
BOOL IsOpen() const;
Return Value
OLE 항목이 열려 있으면 0이 아닌 경우 그렇지 않으면 0입니다.
설명
빗살 무늬를 사용하여 개체를 그릴 시기를 결정하는 데 사용됩니다. 열려 있는 개체는 개체 위에 빗살 무늬를 그려야 합니다. CRectTracker 개체를 사용하여 이 작업을 수행할 수 있습니다.
COleClientItem::IsRunning
이 함수를 호출하여 OLE 항목이 실행 중인지 확인합니다. 즉, 항목이 서버 애플리케이션에서 로드되고 실행 중인지 여부입니다.
BOOL IsRunning() const;
Return Value
OLE 항목이 실행 중인 경우 0이 아닌 경우 그렇지 않으면 0입니다.
설명
자세한 내용은 Windows SDK의 OleIsRunning 을 참조하세요.
COleClientItem::OnActivate
방금 활성화되었음을 항목에 알리기 위해 프레임워크에서 호출됩니다.
virtual void OnActivate();
설명
이 함수는 사용자 인터페이스가 컨테이너 애플리케이션에 설치되었음을 나타내지 않고 서버가 실행 중임을 나타내기 위해 호출됩니다. 이때 개체에 활성 사용자 인터페이스가 없습니다(그렇지 않음 activeUIState
). 메뉴 또는 도구 모음을 설치하지 않았습니다. 이 경우 OnActivateUI 멤버 함수가 호출됩니다.
기본 구현은 매개 변수로 OLE_CHANGEDSTATE OnChange 멤버 함수를 호출합니다. 항목이 현재 위치 활성 상태가 될 때 사용자 지정 처리를 수행하도록 이 함수를 재정의합니다.
COleClientItem::OnActivateUI
프레임워크는 개체가 활성 UI 상태에 들어갔을 때 호출 OnActivateUI
합니다.
virtual void OnActivateUI();
설명
이제 개체에 도구 모음과 메뉴가 설치되었습니다.
기본 구현은 이후 GetServerWindow
호출을 위해 서버의 HWND를 기억합니다.
COleClientItem::OnChange
사용자가 OLE 항목을 수정, 저장 또는 닫을 때 프레임워크에서 호출됩니다.
virtual void OnChange(
OLE_NOTIFICATION nCode,
DWORD dwParam);
매개 변수
nCode
서버에서 이 항목을 변경한 이유입니다. 다음 값 중 하나를 가질 수 있습니다.
OLE_CHANGED OLE 항목의 모양이 변경되었습니다.
OLE_SAVED OLE 항목이 저장되었습니다.
OLE_CLOSED OLE 항목이 닫혔습니다.
OLE_CHANGED_STATE OLE 항목이 한 상태에서 다른 상태로 변경되었습니다.
dwParam
nCode가 OLE_SAVED 또는 OLE_CLOSED 경우 이 매개 변수는 사용되지 않습니다. nCode가 OLE_CHANGED 경우 이 매개 변수는 변경된 OLE 항목의 측면을 지정합니다. 가능한 값은 COleClientItem::D raw의 dwParam 매개 변수를 참조하세요. nCode가 OLE_CHANGED_STATE 경우 이 매개 변수는 COleClientItem::ItemState
열거형 값이며 입력되는 상태를 설명합니다. 다음 값 중 하나를 가질 수 있습니다. emptyState
, loadedState
, openState
, activeState
또는 activeUIState
.
설명
(서버 애플리케이션이 Microsoft Foundation 클래스 라이브러리를 사용하여 작성된 경우 이 함수는 해당 또는 COleServerItem
.의 COleServerDoc
멤버 함수에 대한 응답으로 Notify
호출됩니다.) 기본 구현은 nCode가 OLE_CHANGED 또는 OLE_SAVED 경우 컨테이너 문서를 수정된 것으로 표시합니다.
OLE_CHANGED_STATE 경우 GetItemState에서 반환된 현재 상태는 여전히 이전 상태가 됩니다. 즉, 이 상태가 변경되기 전의 현재 상태를 의미합니다.
OLE 항목의 상태 변경에 응답하도록 이 함수를 재정의합니다. 일반적으로 항목이 표시되는 영역을 무효화하여 항목의 모양을 업데이트합니다. 재정의를 시작할 때 기본 클래스 구현을 호출합니다.
COleClientItem::OnChangeItemPosition
현재 위치 활성화 중에 OLE 항목의 범위가 변경되었음을 컨테이너에 알리기 위해 프레임워크에서 호출됩니다.
virtual BOOL OnChangeItemPosition(const CRect& rectPos);
매개 변수
rectPos
컨테이너 애플리케이션의 클라이언트 영역을 기준으로 항목의 위치를 나타냅니다.
Return Value
항목의 위치가 성공적으로 변경된 경우 0이 아닌 경우 그렇지 않으면 0입니다.
설명
기본 구현은 OLE 항목의 표시되는 새 사각형을 결정하고 새 값으로 SetItemRects를 호출 합니다 . 기본 구현 항목에 대 한 표시 되는 사각형을 계산 하 고 서버에 해당 정보를 전달 합니다.
크기 조정/이동 작업에 특수 규칙을 적용하려면 이 함수를 재정의합니다. 애플리케이션이 MFC로 작성된 경우 서버가 COleServerDoc::RequestPositionChange라고 하므로 이 호출이 발생합니다.
COleClientItem::OnDeactivate
OLE 항목이 현재 위치 활성 상태( activeState
)에서 로드된 상태로 전환될 때 프레임워크에서 호출됩니다. 즉, 현재 위치 활성화 후에 비활성화됩니다.
virtual void OnDeactivate();
설명
이 함수는 사용자 인터페이스가 컨테이너 애플리케이션에서 제거되지 않고 OLE 항목이 닫혀 있음을 나타내기 위해 호출됩니다. 이 경우 OnDeactivateUI 멤버 함수가 호출됩니다.
기본 구현은 매개 변수로 OLE_CHANGEDSTATE OnChange 멤버 함수를 호출합니다. 현재 위치 활성 항목이 비활성화될 때 사용자 지정 처리를 수행하도록 이 함수를 재정의합니다. 예를 들어 컨테이너 애플리케이션에서 실행 취소 명령을 지원하는 경우 이 함수를 재정의하여 실행 취소 상태를 취소할 수 있습니다. 즉, 항목이 비활성화된 후에는 OLE 항목에서 수행된 마지막 작업을 실행 취소할 수 없음을 나타냅니다.
COleClientItem::OnDeactivateAndUndo
사용자가 OLE 항목을 활성화한 후 실행 취소 명령을 호출할 때 프레임워크에서 호출됩니다.
virtual void OnDeactivateAndUndo();
설명
기본 구현에서는 DeactivateUI를 호출하여 서버의 사용자 인터페이스를 비활성화합니다. 컨테이너 애플리케이션에서 실행 취소 명령을 구현하는 경우 이 함수를 재정의합니다. 재정의에서 함수의 기본 클래스 버전을 호출한 다음 애플리케이션에서 실행된 마지막 명령을 실행 취소합니다.
자세한 내용은 Windows SDK에서 IOleInPlaceSite::D eactivateAndUndo 를 참조하세요.
COleClientItem::OnDeactivateUI
사용자가 현재 위치에서 활성화된 항목을 비활성화할 때 호출됩니다.
virtual void OnDeactivateUI(BOOL bUndoable);
매개 변수
bUndoable
편집 변경 내용을 실행 취소할 수 있는지 여부를 지정합니다.
설명
이 함수는 컨테이너 애플리케이션의 사용자 인터페이스를 원래 상태로 복원하여 현재 위치 활성화를 위해 만든 메뉴 및 기타 컨트롤을 숨깁니다.
bUndoable이 FALSE이면 서버에서 수행한 마지막 작업을 실행 취소할 수 없음을 나타내므로 컨테이너는 실행 취소 명령을 사용하지 않도록 설정해야 합니다.
COleClientItem::OnDiscardUndoState
사용자가 OLE 항목을 편집하는 동안 실행 취소 상태를 삭제하는 작업을 수행할 때 프레임워크에서 호출됩니다.
virtual void OnDiscardUndoState();
설명
기본 구현은 아무 작업도 수행하지 않습니다. 컨테이너 애플리케이션에서 실행 취소 명령을 구현하는 경우 이 함수를 재정의합니다. 재정의에서 컨테이너 애플리케이션의 실행 취소 상태를 삭제합니다.
서버가 Microsoft Foundation 클래스 라이브러리를 사용하여 작성된 경우 서버에서 COleServerDoc::D iscardUndoState를 호출하여 이 함수를 호출할 수 있습니다.
자세한 내용은 Windows SDK에서 IOleInPlaceSite::D iscardUndoState 를 참조하세요.
COleClientItem::OnGetClipboardData
CopyToClipboard 또는 DoDragDrop 멤버 함수를 호출하여 클립보드에 배치될 모든 데이터를 포함하는 개체를 가져오기 COleDataSource
위해 프레임워크에서 호출합니다.
virtual COleDataSource* OnGetClipboardData(
BOOL bIncludeLink,
LPPOINT lpOffset,
LPSIZE lpSize);
매개 변수
bIncludeLink
링크 데이터를 클립보드에 복사해야 하는 경우 이 값을 TRUE로 설정합니다. 서버 애플리케이션이 링크를 지원하지 않는 경우 이를 FALSE로 설정합니다.
lpOffset
개체의 원점에서 마우스 커서의 오프셋을 픽셀 단위로 가리키는 포인터입니다.
lpSize
개체의 크기를 픽셀 단위로 가리키는 포인터입니다.
Return Value
클립보드 데이터를 포함하는 COleDataSource 개체에 대한 포인터입니다.
설명
이 함수의 기본 구현은 GetClipboardData를 호출합니다.
COleClientItem::OnGetClipRect
프레임워크는 멤버 함수를 OnGetClipRect
호출하여 현재 위치에서 편집 중인 항목의 클리핑 사각형 좌표를 가져옵니다.
virtual void OnGetClipRect(CRect& rClipRect);
매개 변수
rClipRect
항목의 클리핑 사각형 좌표를 보유할 클래스 CRect 의 개체에 대한 포인터입니다.
설명
좌표는 컨테이너 애플리케이션 창의 클라이언트 영역을 기준으로 픽셀 단위입니다.
기본 구현은 항목이 현재 위치 활성 상태인 보기의 클라이언트 사각형을 반환합니다.
COleClientItem::OnGetItemPosition
프레임워크는 멤버 함수를 OnGetItemPosition
호출하여 현재 위치에서 편집 중인 항목의 좌표를 가져옵니다.
virtual void OnGetItemPosition(CRect& rPosition);
매개 변수
rPosition
항목의 위치 좌표를 포함할 CRect 개체에 대한 참조입니다.
설명
좌표는 컨테이너 애플리케이션 창의 클라이언트 영역을 기준으로 픽셀 단위입니다.
이 함수의 기본 구현은 아무 작업도 수행하지 않습니다. 현재 위치 편집을 지원하는 애플리케이션에는 구현이 필요합니다.
COleClientItem::OnGetWindowContext
항목이 활성화될 때 프레임워크에서 호출됩니다.
virtual BOOL OnGetWindowContext(
CFrameWnd** ppMainFrame,
CFrameWnd** ppDocFrame,
LPOLEINPLACEFRAMEINFO lpFrameInfo);
매개 변수
ppMainFrame
주 프레임 창에 대한 포인터에 대한 포인터입니다.
ppDocFrame
문서 프레임 창에 대한 포인터를 가리키는 포인터입니다.
lpFrameInfo
프레임 창 정보를 받을 OLEINPLACEFRAMEINFO 구조체에 대한 포인터입니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
이 함수는 OLE 항목의 부모 창에 대한 정보를 검색하는 데 사용됩니다.
컨테이너가 MDI 애플리케이션인 경우 기본 구현은 ppMainFrame의 CMDIFrameWnd 개체에 대한 포인터와 ppDocFrame의 활성 CMDIChildWnd 개체에 대한 포인터를 반환합니다. 컨테이너가 SDI 애플리케이션인 경우 기본 구현은 ppMainFrame의 CFrameWnd 개체에 대한 포인터를 반환하고 ppDocFrame 에서 NULL을 반환합니다. 기본 구현은 lpFrameInfo의 멤버도 채웁니다.
기본 구현이 애플리케이션에 적합하지 않은 경우에만 이 함수를 재정의합니다. 예를 들어 애플리케이션에 SDI 또는 MDI와 다른 사용자 인터페이스 패러다임이 있는 경우입니다. 이는 고급 재정의 가능입니다.
자세한 내용은 Windows SDK의 IOleInPlaceSite::GetWindowContext 및 OLEINPLACEFRAMEINFO 구조를 참조하세요.
COleClientItem::OnInsertMenus
컨테이너 애플리케이션의 메뉴를 빈 메뉴에 삽입하기 위해 현재 위치 활성화 중에 프레임워크에서 호출됩니다.
virtual void OnInsertMenus(
CMenu* pMenuShared,
LPOLEMENUGROUPWIDTHS lpMenuWidths);
매개 변수
pMenuShared
빈 메뉴를 가리킵니다.
lpMenuWidths
각 메뉴 그룹에 있는 메뉴 수를 나타내는 6개의 LONG 값 배열을 가리킵니다. 파일, 편집, 컨테이너, 개체, 창, 도움말. 컨테이너 애플리케이션은 이 배열의 요소 0, 2 및 4에 해당하는 파일, 컨테이너 및 창 메뉴 그룹을 담당합니다.
설명
그런 다음 이 메뉴가 서버에 전달되어 자체 메뉴를 삽입하고 복합 메뉴를 만듭니다. 이 함수는 여러 복합 메뉴를 빌드하기 위해 반복적으로 호출할 수 있습니다.
기본 구현은 현재 위치 컨테이너 메뉴, 즉 파일, 컨테이너 및 창 메뉴 그룹인 pMenuShared에 삽입됩니다. CDocTemplate::SetContainerInfo 는 이 메뉴 리소스를 설정하는 데 사용됩니다. 또한 기본 구현은 메뉴 리소스에 따라 lpMenuWidths의 요소 0, 2 및 4에 적절한 값을 할당합니다. 기본 구현이 애플리케이션에 적합하지 않은 경우 이 함수를 재정의합니다. 예를 들어 애플리케이션이 문서 형식과 리소스를 연결하기 위해 문서 서식 파일을 사용하지 않는 경우입니다. 이 함수를 재정의하는 경우 OnSetMenu 및 OnRemoveMenus도 재정의해야 합니다. 이는 고급 재정의 가능입니다.
자세한 내용은 Windows SDK의 IOleInPlaceFrame::InsertMenus 를 참조하세요.
COleClientItem::OnRemoveMenus
현재 위치 활성화가 종료될 때 지정된 복합 메뉴에서 컨테이너의 메뉴를 제거하기 위해 프레임워크에서 호출됩니다.
virtual void OnRemoveMenus(CMenu* pMenuShared);
매개 변수
pMenuShared
OnInsertMenus 멤버 함수를 호출하여 생성된 복합 메뉴를 가리킵니다.
설명
기본 구현은 파일, 컨테이너 및 창 메뉴 그룹인 현재 위치 컨테이너 메뉴인 pMenuShared에서 제거됩니다. 기본 구현이 애플리케이션에 적합하지 않은 경우 이 함수를 재정의합니다. 예를 들어 애플리케이션이 문서 형식과 리소스를 연결하기 위해 문서 서식 파일을 사용하지 않는 경우입니다. 이 함수를 재정의하는 경우 OnInsertMenus 및 OnSetMenu도 재정의해야 합니다. 이는 고급 재정의 가능입니다.
서버가 반복적으로 호출OnInsertMenus
한 경우 pMenuShared의 하위 메뉴는 둘 이상의 복합 메뉴에서 공유할 수 있습니다. 따라서 재정의 OnRemoveMenus
에서 하위 메뉴는 삭제하면 안 됩니다. 이 하위 메뉴는 분리해야 합니다.
자세한 내용은 Windows SDK에서 IOleInPlaceFrame::RemoveMenus 를 참조하세요.
COleClientItem::OnScrollBy
서버의 요청에 대한 응답으로 OLE 항목을 스크롤하기 위해 프레임워크에서 호출됩니다.
virtual BOOL OnScrollBy(CSize sizeExtent);
매개 변수
sizeExtent
x 방향과 y 방향으로 스크롤할 거리를 픽셀 단위로 지정합니다.
Return Value
항목이 스크롤된 경우 0이 아닌 경우 항목을 스크롤할 수 없는 경우 0입니다.
설명
예를 들어 현재 위치 편집을 수행하는 동안 OLE 항목이 부분적으로 표시되고 사용자가 표시되는 영역 밖으로 이동하는 경우 커서를 계속 표시하기 위해 이 함수가 호출됩니다. 기본 구현은 아무 작업도 수행하지 않습니다. 지정된 양만큼 항목을 스크롤하려면 이 함수를 재정의합니다. 스크롤의 결과로 OLE 항목의 표시 부분이 변경될 수 있습니다. SetItemRects를 호출하여 항목의 표시되는 사각형을 업데이트합니다.
자세한 내용은 Windows SDK에서 IOleInPlaceSite::Scroll을 참조하세요.
COleClientItem::OnSetMenu
현재 위치 활성화가 시작되고 끝날 때 프레임워크에서 두 번 호출됩니다. 복합 메뉴를 처음 설치하고 두 번째(홀메뉴가 NULL과 같음)를 설치하여 제거합니다.
virtual void OnSetMenu(
CMenu* pMenuShared,
HOLEMENU holemenu,
HWND hwndActiveObject);
매개 변수
pMenuShared
OnInsertMenus 멤버 함수 및 함수를 호출하여 생성된 복합 메뉴에 대한 InsertMenu
포인터입니다.
holemenu
함수에서 반환된 OleCreateMenuDescriptor
메뉴 설명자에 대한 핸들이거나, 디스패치 코드를 제거할 경우 NULL입니다.
hwndActiveObject
OLE 항목의 편집 창에 대한 핸들입니다. OLE에서 편집 명령을 받는 창입니다.
설명
기본 구현은 복합 메뉴를 설치하거나 제거한 다음 OleSetMenuDescriptor 함수를 호출하여 디스패치 코드를 설치하거나 제거합니다. 기본 구현이 애플리케이션에 적합하지 않은 경우 이 함수를 재정의합니다. 이 함수를 재정의하는 경우 OnInsertMenus 및 OnRemoveMenus도 재정의해야 합니다. 이는 고급 재정의 가능입니다.
자세한 내용은 Windows SDK의 OleCreateMenuDescriptor, OleSetMenuDescriptor 및 IOleInPlaceFrame::SetMenu 를 참조하세요.
COleClientItem::OnShowControlBars
컨테이너 애플리케이션의 컨트롤 막대를 표시하고 숨기기 위해 프레임워크에서 호출됩니다.
virtual BOOL OnShowControlBars(
CFrameWnd* pFrameWnd,
BOOL bShow);
매개 변수
pFrameWnd
컨테이너 애플리케이션의 프레임 창에 대한 포인터입니다. 주 프레임 창 또는 MDI 자식 창일 수 있습니다.
bShow
컨트롤 막대를 표시할지 숨길지 여부를 지정합니다.
Return Value
함수 호출로 인해 컨트롤 막대의 상태가 변경되면 0이 아닌 경우 호출로 인해 변경이 발생하지 않거나 pFrameWnd가 컨테이너의 프레임 창을 가리키지 않는 경우 0입니다.
설명
컨트롤 막대가 이미 bShow에서 지정한 상태에 있으면 이 함수는 0을 반환합니다. 예를 들어 컨트롤 막대가 숨겨져 있고 bShow 가 FALSE인 경우 이 문제가 발생합니다.
기본 구현은 최상위 프레임 창에서 도구 모음을 제거합니다.
COleClientItem::OnShowItem
OLE 항목을 표시하기 위해 프레임워크에서 호출되므로 편집하는 동안 완전히 표시됩니다.
virtual void OnShowItem();
설명
컨테이너 애플리케이션이 포함된 항목에 대한 링크를 지원할 때 사용됩니다(즉, COleLinkingDoc에서 문서 클래스를 파생한 경우). 이 함수는 현재 위치 활성화 중 또는 OLE 항목이 링크 원본이고 사용자가 편집하려는 경우에 호출됩니다. 기본 구현은 컨테이너 문서의 첫 번째 보기를 활성화합니다. OLE 항목이 표시되도록 문서를 스크롤하려면 이 함수를 재정의합니다.
COleClientItem::OnUpdateFrameTitle
프레임 창의 제목 표시줄을 업데이트하기 위해 현재 위치 활성화 중에 프레임워크에서 호출됩니다.
virtual BOOL OnUpdateFrameTitle();
Return Value
이 함수가 프레임 제목을 성공적으로 업데이트하면 0이 아니고, 그렇지 않으면 0입니다.
설명
기본 구현은 프레임 창 제목을 변경하지 않습니다. 애플리케이션에 다른 프레임 제목(예: "docname의 서버 앱 - 항목")을 원하는 경우 이 함수를 재정의합니다(예: "Microsoft Excel - REPORT.DOC 스프레드시트"). 이는 고급 재정의 가능입니다.
COleClientItem::ReactivateAndUndo
이 함수를 호출하여 OLE 항목을 다시 활성화하고 현재 위치 편집 중에 사용자가 수행한 마지막 작업을 실행 취소합니다.
BOOL ReactivateAndUndo();
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
컨테이너 애플리케이션이 실행 취소 명령을 지원하는 경우 사용자가 OLE 항목을 비활성화한 직후 실행 취소 명령을 선택하는 경우 이 함수를 호출합니다.
서버 애플리케이션이 Microsoft Foundation 클래스 라이브러리를 사용하여 작성된 경우 이 함수는 서버가 COleServerDoc::OnReactivateAndUndo를 호출하도록 합니다.
자세한 내용은 Windows SDK에서 IOleInPlaceObject::ReactivateAndUndo 를 참조하세요.
COleClientItem::Release
이 함수를 호출하여 OLE 항목에서 사용하는 리소스를 정리합니다.
virtual void Release(OLECLOSE dwCloseOption = OLECLOSE_NOSAVE);
매개 변수
dwCloseOption
OLE 항목이 로드된 상태로 반환될 때 저장되는 상황에서 지정하는 플래그입니다. 가능한 값 목록은 COleClientItem::Close를 참조 하세요.
설명
Release
는 소멸자가 호출합니다 COleClientItem
.
자세한 내용은 Windows SDK의 IUnknown::Release 를 참조하세요.
COleClientItem::Reload
항목을 닫고 다시 로드합니다.
BOOL Reload();
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
ActivateAs를 Reload
호출하여 항목을 다른 형식의 항목으로 활성화한 후 함수를 호출합니다.
COleClientItem::Run
이 항목과 연결된 애플리케이션을 실행합니다.
void Run();
설명
Run
항목을 활성화하기 전에 멤버 함수를 호출하여 서버 애플리케이션을 시작합니다. 이 작업은 Activate 및 DoVerb에서 자동으로 수행되므로 일반적으로 이 함수를 호출할 필요가 없습니다. DoVerb을 실행하기 전에 SetExtent와 같은 항목 특성을 설정하기 위해 서버를 실행해야 하는 경우 이 함수를 호출합니다.
COleClientItem::SetDrawAspect
멤버 함수를 SetDrawAspect
호출하여 항목의 "측면" 또는 뷰를 설정합니다.
virtual void SetDrawAspect(DVASPECT nDrawAspect);
매개 변수
nDrawAspect
DVASPECT 열거형의 값입니다. 이 매개 변수는 다음 값 중 하나를 가질 수 있습니다.
DVASPECT_CONTENT 항목은 컨테이너 내에 포함된 개체로 표시될 수 있는 방식으로 표시됩니다.
DVASPECT_THUMBNAIL 항목은 검색 도구에 표시될 수 있도록 "썸네일" 표현으로 렌더링됩니다.
DVASPECT_ICON 항목은 아이콘으로 표시됩니다.
DVASPECT_DOCPRINT 항목은 파일 메뉴의 인쇄 명령을 사용하여 인쇄된 것처럼 표시됩니다.
설명
이 측면은 해당 함수의 nDrawAspect 인수에 대한 기본값을 사용할 때 Draw로 항목을 렌더링하는 방법을 지정합니다.
이 함수는 사용자가 요청할 때 아이콘 표시 측면을 사용하도록 설정하기 위해 변경 아이콘(및 변경 아이콘 대화 상자를 직접 호출하는 다른 대화 상자)에 의해 자동으로 호출됩니다.
COleClientItem::SetExtent
이 함수를 호출하여 OLE 항목에 사용할 수 있는 공간을 지정합니다.
void SetExtent(
const CSize& size,
DVASPECT nDrawAspect = DVASPECT_CONTENT);
매개 변수
size
크기 정보를 포함하는 CSize 개체입니다.
nDrawAspect
범위를 설정해야 하는 OLE 항목의 측면을 지정합니다. 가능한 값은 SetDrawAspect을 참조하세요.
설명
Microsoft Foundation 클래스 라이브러리를 사용하여 서버 애플리케이션을 작성한 경우 해당 COleServerItem
개체의 OnSetExtent 멤버 함수가 호출됩니다. 그러면 OLE 항목이 그에 따라 디스플레이를 조정할 수 있습니다. 차원은 MM_HIMETRIC 단위여야 합니다. 사용자가 OLE 항목의 크기를 조정하거나 어떤 형태의 레이아웃 협상을 지원하는 경우 이 함수를 호출합니다.
자세한 내용은 Windows SDK에서 IOleObject::SetExtent 를 참조하세요.
COleClientItem::SetHostNames
컨테이너 애플리케이션의 이름과 포함된 OLE 항목에 대한 컨테이너 이름을 지정하려면 이 함수를 호출합니다.
void SetHostNames(
LPCTSTR lpszHost,
LPCTSTR lpszHostObj);
매개 변수
lpszHost
컨테이너 애플리케이션의 사용자 표시 이름에 대한 포인터입니다.
lpszHostObj
OLE 항목을 포함하는 컨테이너의 식별 문자열에 대한 포인터입니다.
설명
서버 응용 프로그램이 MFC 라이브러리를 사용하여 작성된 경우 이 함수는 OLE 항목을 포함하는 COleServerDoc
문서의 OnSetHostNames 멤버 함수를 호출합니다. 이 정보는 OLE 항목을 편집할 때 창 제목에 사용됩니다. 컨테이너 문서가 로드될 때마다 프레임워크는 문서의 모든 OLE 항목에 대해 이 함수를 호출합니다. SetHostNames
는 포함된 항목에만 적용됩니다. 편집을 위해 포함된 OLE 항목이 활성화될 때마다 이 함수를 호출할 필요는 없습니다.
개체가 로드되거나 파일이 다른 이름으로 저장될 때 애플리케이션 이름 및 문서 이름으로 자동으로 호출됩니다. 따라서 일반적으로 이 함수를 직접 호출할 필요는 없습니다.
자세한 내용은 Windows SDK의 IOleObject::SetHostNames 를 참조하세요.
COleClientItem::SetIconicMetafile
항목의 아이콘을 그리는 데 사용되는 메타파일을 캐시합니다.
BOOL SetIconicMetafile(HGLOBAL hMetaPict);
매개 변수
hMetaPict
항목의 아이콘을 그리는 데 사용되는 메타파일의 핸들입니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
GetIconicMetafile을 사용하여 메타파일을 검색합니다.
hMetaPict 매개 변수는 항목에 복사되므로 호출자가 hMetaPict를 해제해야 합니다.
COleClientItem::SetItemRects
이 함수를 호출하여 경계 사각형 또는 OLE 항목의 표시되는 사각형을 설정합니다.
BOOL SetItemRects(
LPCRECT lpPosRect = NULL,
LPCRECT lpClipRect = NULL);
매개 변수
lprcPosRect
클라이언트 좌표에서 부모 창을 기준으로 OLE 항목의 범위를 포함하는 사각형에 대한 포인터입니다.
lprcClipRect
클라이언트 좌표에서 부모 창을 기준으로 OLE 항목의 표시되는 부분 범위가 포함된 사각형에 대한 포인터입니다.
Return Value
성공하면 0이 아닌 값입니다. 그렇지 않으면 0입니다.
설명
이 함수는 OnChangeItemPosition 멤버 함수의 기본 구현에 의해 호출됩니다. OLE 항목의 위치 또는 표시 부분이 변경되면 이 함수를 호출해야 합니다. 이는 일반적으로 뷰의 OnSize 및 OnScrollBy 멤버 함수에서 호출한다는 것을 의미합니다.
자세한 내용은 Windows SDK의 IOleInPlaceObject::SetObjectRects 를 참조하세요.
COleClientItem::SetLinkUpdateOptions
이 함수를 호출하여 지정된 연결된 항목의 프레젠테이션에 대한 링크 업데이트 옵션을 설정합니다.
void SetLinkUpdateOptions(OLEUPDATE dwUpdateOpt);
매개 변수
dwUpdateOpt
이 항목에 대한 링크 업데이트 옵션의 값입니다. 이 값은 다음 중 하나여야 합니다.
OLEUPDATE_ALWAYS 가능하면 연결된 항목을 업데이트합니다. 이 옵션은 링크 대화 상자에서 자동 링크 업데이트 라디오 단추를 지원합니다.
OLEUPDATE_ONCALL 컨테이너 애플리케이션의 요청에 따라 연결된 항목만 업데이트합니다(UpdateLink 멤버 함수가 호출되는 경우). 이 옵션은 링크 대화 상자의 수동 링크 업데이트 라디오 단추를 지원합니다.
설명
일반적으로 링크 대화 상자에서 사용자가 선택한 업데이트 옵션을 변경해서는 안 됩니다.
자세한 내용은 Windows SDK의 IOleLink::SetUpdateOptions 를 참조하세요.
COleClientItem::SetPrintDevice
이 함수를 호출하여 이 항목의 인쇄 대상 디바이스를 변경합니다.
BOOL SetPrintDevice(const DVTARGETDEVICE* ptd);
BOOL SetPrintDevice(const PRINTDLG* ppd);
매개 변수
ptd
새 인쇄 대상 디바이스에 대한 정보를 포함하는 DVTARGETDEVICE 데이터 구조에 대한 포인터입니다. NULL일 수 있습니다.
ppd
새 인쇄 대상 디바이스에 대한 정보를 포함하는 PRINTDLG 데이터 구조에 대한 포인터입니다. NULL일 수 있습니다.
Return Value
함수가 성공한 경우 0이 아닌 경우 그렇지 않으면 0입니다.
설명
이 함수는 항목의 인쇄 대상 디바이스를 업데이트하지만 프레젠테이션 캐시를 새로 고치지는 않습니다. 항목에 대한 프레젠테이션 캐시를 업데이트하려면 UpdateLink를 호출합니다.
이 함수의 인수에는 OLE 시스템에서 대상 디바이스를 식별하는 데 사용하는 정보가 포함됩니다. 이 PRINTDLG
구조에는 Windows에서 일반적인 인쇄 대화 상자를 초기화하는 데 사용하는 정보가 포함되어 있습니다. 사용자가 대화 상자를 닫은 후 Windows는 이 구조에서 사용자의 선택 항목에 대한 정보를 반환합니다. CPrintDialog 개체의 멤버는 구조체입니다PRINTDLG
.m_pd
이 구조에 대한 자세한 내용은 Windows SDK의 PRINTDLG를 참조하세요.
자세한 내용은 Windows SDK의 DVTARGETDEVICE 를 참조하세요.
COleClientItem::UpdateLink
이 함수를 호출하여 OLE 항목의 프레젠테이션 데이터를 즉시 업데이트합니다.
BOOL UpdateLink();
Return Value
성공하면 0이 아닌 값이고, 실패하면 0입니다.
설명
연결된 항목의 경우 함수는 링크 원본을 찾아 OLE 항목에 대한 새 프레젠테이션을 가져옵니다. 이 프로세스에는 시간이 많이 걸릴 수 있는 하나 이상의 서버 애플리케이션 실행이 포함될 수 있습니다. 포함된 항목의 경우 함수는 재귀적으로 작동하여 포함된 항목에 오래된 링크가 포함되어 있는지 확인하고 업데이트합니다. 사용자는 링크 대화 상자를 사용하여 개별 링크를 수동으로 업데이트할 수도 있습니다.
자세한 내용은 Windows SDK에서 IOleLink::Update를 참조하세요.
참고 항목
MFC 샘플 MFCBIND
MFC 샘플 OCLIENT
CDocItem 클래스
계층 구조 차트
COleServerItem 클래스