COleDataObject 클래스

끌어 놓기를 통해 클립보드에서 또는 포함된 OLE 항목에서 다양한 형식의 데이터를 검색하기 위해 데이터를 전송하는 데 사용됩니다.

구문

class COleDataObject

멤버

공용 생성자

속성 설명
COleDataObject::COleDataObject COleDataObject 개체를 생성합니다.

공용 메서드

이름 설명
COleDataObject::Attach 지정된 OLE 데이터 개체를 COleDataObject.에 연결합니다.
COleDataObject::AttachClipboard 클립보드에 있는 데이터 개체를 연결합니다.
COleDataObject::BeginEnumFormats 하나 이상의 후속 GetNextFormat 호출을 준비합니다.
COleDataObject::D etach 연결된 IDataObject 개체를 분리합니다.
COleDataObject::GetData 연결된 OLE 데이터 개체의 데이터를 지정된 형식으로 복사합니다.
COleDataObject::GetFileData 연결된 OLE 데이터 개체의 데이터를 지정된 형식의 CFile 포인터로 복사합니다.
COleDataObject::GetGlobalData 연결된 OLE 데이터 개체의 데이터를 지정된 형식으로 HGLOBAL 복사합니다.
COleDataObject::GetNextFormat 사용 가능한 다음 데이터 형식을 반환합니다.
COleDataObject::IsDataAvailable 지정된 형식으로 데이터를 사용할 수 있는지 여부를 확인합니다.
COleDataObject::Release 연결된 IDataObject 개체를 분리하고 해제합니다.

설명

COleDataObject 에는 기본 클래스가 없습니다.

이러한 종류의 데이터 전송에는 원본 및 대상이 포함됩니다. 데이터 원본은 COleDataSource 클래스의 개체로 구현됩니다. 대상 애플리케이션에 데이터가 삭제되거나 클립보드에서 붙여넣기 작업을 수행하라는 메시지가 표시될 때마다 클래스의 개체를 COleDataObject 만들어야 합니다.

이 클래스를 사용하면 데이터가 지정된 형식으로 존재하는지 여부를 확인할 수 있습니다. 사용 가능한 데이터 형식을 열거하거나 지정된 형식을 사용할 수 있는지 확인한 다음 기본 형식으로 데이터를 검색할 수도 있습니다. CFile, HGLOBAL 또는 구조체를 사용하는 등 여러 가지 방법으로 개체 검색을 수행할 수 있습니다STGMEDIUM.

자세한 내용은 Windows SDK의 STGMEDIUM 구조를 참조하세요.

애플리케이션에서 데이터 개체를 사용하는 방법에 대한 자세한 내용은 OLE(데이터 개체 및 데이터 원본) 문서를 참조하세요.

상속 계층 구조

COleDataObject

요구 사항

헤더: afxole.h

COleDataObject::Attach

이 함수를 호출하여 개체를 COleDataObject OLE 데이터 개체와 연결합니다.

void Attach(
    LPDATAOBJECT lpDataObject,
    BOOL bAutoRelease = TRUE);

매개 변수

lpDataObject
OLE 데이터 개체를 가리킵니다.

bAutoRelease
개체가 제거될 때 OLE 데이터 개체를 COleDataObject 해제해야 하면 TRUE이고, 그렇지 않으면 FALSE입니다.

설명

자세한 내용은 Windows SDK의 IDataObject 를 참조하세요.

COleDataObject::AttachClipboard

현재 클립보드에 있는 데이터 개체를 개체에 연결하려면 이 함수를 COleDataObject 호출합니다.

BOOL AttachClipboard();

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

참고 항목

이 함수를 호출하면 이 데이터 개체가 해제될 때까지 클립보드가 잠깁니다. 데이터 개체는 에 대한 소멸자에서 해제됩니다 COleDataObject. 자세한 내용은 Win32 설명서에서 OpenClipboardCloseClipboard 를 참조하세요.

COleDataObject::BeginEnumFormats

이 함수를 호출하여 항목에서 데이터 형식 목록을 검색하기 GetNextFormat 위한 후속 호출을 준비합니다.

void BeginEnumFormats();

설명

호출 BeginEnumFormats후 이 데이터 개체에서 지원하는 첫 번째 형식의 위치가 저장됩니다. 연속 호출은 GetNextFormat 데이터 개체에서 사용 가능한 형식 목록을 열거합니다.

지정된 형식의 데이터 가용성을 확인하려면 COleDataObject::IsDataAvailable을 사용합니다.

자세한 내용은 Windows SDK의 IDataObject::EnumFormatEtc 를 참조하세요.

COleDataObject::COleDataObject

COleDataObject 개체를 생성합니다.

COleDataObject();

설명

다른 COleDataObject 함수를 호출하기 전에 COleDataObject::Attach 또는 COleDataObject::AttachClipboard를 호출해야 합니다.

참고 항목

끌어서 놓기 처리기에 대한 매개 변수 중 하나는 포인터 COleDataObject이므로 끌어서 놓기를 지원하기 위해 이 생성자를 호출할 필요가 없습니다.

COleDataObject::D etach

데이터 개체를 해제하지 않고 연결된 OLE 데이터 개체에서 개체를 분리 COleDataObject 하려면 이 함수를 호출합니다.

LPDATAOBJECT Detach();

Return Value

분리된 OLE 데이터 개체에 대한 포인터입니다.

설명

COleDataObject::GetData

지정된 형식의 항목에서 데이터를 검색하려면 이 함수를 호출합니다.

BOOL GetData(
    CLIPFORMAT cfFormat,
    LPSTGMEDIUM lpStgMedium,
    LPFORMATETC lpFormatEtc = NULL);

매개 변수

cfFormat
데이터를 반환할 형식입니다. 이 매개 변수는 미리 정의된 클립보드 형식 또는 네이티브 Windows RegisterClipboardFormat 함수에서 반환된 값 중 하나일 수 있습니다 .

lpStgMedium
데이터를 받을 STGMEDIUM 구조를 가리킵니다.

lpFormatEtc
데이터를 반환할 형식을 설명하는 FORMATETC 구조를 가리킵니다. cfFormat에서 지정한 클립보드 형식 이외의 추가 형식 정보를 지정하려면 이 매개 변수에 대한 값을 제공합니다. NULL인 경우 구조체의 다른 필드에 기본값이 FORMATETC 사용됩니다.

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

자세한 내용은 Windows SDK에서 IDataObject::GetData, STGMEDIUMFORMATETC 를 참조하세요.

자세한 내용은 Windows SDK의 RegisterClipboardFormat 을 참조하세요.

COleDataObject::GetFileData

이 함수를 호출하여 파생 개체를 CFile만들고 CFile 지정된 형식의 데이터를 포인터로 CFile 검색합니다.

CFile* GetFileData(
    CLIPFORMAT cfFormat,
    LPFORMATETC lpFormatEtc = NULL);

매개 변수

cfFormat
데이터를 반환할 형식입니다. 이 매개 변수는 미리 정의된 클립보드 형식 또는 네이티브 Windows RegisterClipboardFormat 함수에서 반환된 값 중 하나일 수 있습니다 .

lpFormatEtc
데이터를 반환할 형식을 설명하는 FORMATETC 구조를 가리킵니다. cfFormat에서 지정한 클립보드 형식 이외의 추가 형식 정보를 지정하려면 이 매개 변수에 대한 값을 제공합니다. NULL인 경우 구조체의 다른 필드에 기본값이 FORMATETC 사용됩니다.

Return Value

성공하면 데이터가 포함된 새 CFile 개체 또는 CFile파생 개체에 대한 포인터입니다. 그렇지 않으면 NULL입니다.

설명

데이터가 저장되는 매체에 따라 반환 값CFile이 가리키는 실제 형식은 또는 CSharedFileCOleStreamFile.

참고 항목

CFile 이 함수의 반환 값으로 액세스하는 개체는 호출자가 소유합니다. 개체에 대한 호출자의 delete CFile 책임이므로 파일을 닫습니다.

자세한 내용은 Windows SDK의 FORMATETC를 참조하세요.

자세한 내용은 Windows SDK의 RegisterClipboardFormat 을 참조하세요.

COleDataObject::GetGlobalData

전역 메모리 블록을 할당하고 지정된 형식의 데이터를 HGLOBAL로 검색하려면 이 함수를 호출합니다.

HGLOBAL GetGlobalData(
    CLIPFORMAT cfFormat,
    LPFORMATETC lpFormatEtc = NULL);

매개 변수

cfFormat
데이터를 반환할 형식입니다. 이 매개 변수는 미리 정의된 클립보드 형식 또는 네이티브 Windows RegisterClipboardFormat 함수에서 반환된 값 중 하나일 수 있습니다 .

lpFormatEtc
데이터를 반환할 형식을 설명하는 FORMATETC 구조를 가리킵니다. cfFormat에서 지정한 클립보드 형식 이외의 추가 형식 정보를 지정하려면 이 매개 변수에 대한 값을 제공합니다. NULL인 경우 구조체의 다른 필드에 기본값이 FORMATETC 사용됩니다.

Return Value

성공한 경우 데이터를 포함하는 전역 메모리 블록의 핸들입니다. 그렇지 않으면 NULL입니다.

설명

자세한 내용은 Windows SDK의 FORMATETC를 참조하세요.

자세한 내용은 Windows SDK의 RegisterClipboardFormat 을 참조하세요.

COleDataObject::GetNextFormat

항목에서 데이터를 검색하는 데 사용할 수 있는 모든 형식을 가져오려면 이 함수를 반복적으로 호출합니다.

BOOL GetNextFormat(LPFORMATETC lpFormatEtc);

매개 변수

lpFormatEtc
함수 호출이 반환될 때 형식 정보를 받는 FORMATETC 구조를 가리킵니다.

Return Value

다른 형식을 사용할 수 있는 경우 0이 아닌 경우 그렇지 않으면 0입니다.

설명

COleDataObject::BeginEnumFormats를 호출한 후 이 데이터 개체에서 지원하는 첫 번째 형식의 위치가 저장됩니다. 연속 호출은 GetNextFormat 데이터 개체에서 사용 가능한 형식 목록을 열거합니다. 이러한 함수를 사용하여 사용 가능한 형식을 나열합니다.

지정된 형식의 가용성을 확인하려면 COleDataObject::IsDataAvailable을 호출 합니다.

자세한 내용은 Windows SDK에서 IEnumXXXX::Next 를 참조하세요.

COleDataObject::IsDataAvailable

OLE 항목에서 데이터를 검색하는 데 특정 형식을 사용할 수 있는지 확인하려면 이 함수를 호출합니다.

BOOL IsDataAvailable(
    CLIPFORMAT cfFormat,
    LPFORMATETC lpFormatEtc = NULL);

매개 변수

cfFormat
lpFormatEtc에서 가리키는 구조에 사용할 클립보드 데이터 형식입니다. 이 매개 변수는 미리 정의된 클립보드 형식 또는 네이티브 Windows RegisterClipboardFormat 함수에서 반환된 값 중 하나일 수 있습니다 .

lpFormatEtc
원하는 형식을 설명하는 FORMATETC 구조를 가리킵니다. cfFormat에서 지정한 클립보드 형식 이외의 추가 형식 정보를 지정하려는 경우에만 이 매개 변수에 대한 값을 제공합니다. NULL인 경우 구조체의 다른 필드에 기본값이 FORMATETC 사용됩니다.

Return Value

지정된 형식으로 데이터를 사용할 수 있는 경우 0이 아닌 경우 그렇지 않으면 0입니다.

설명

이 함수는 호출 GetData하기 GetFileData전에 유용합니다. 또는 GetGlobalData.

자세한 내용은 Windows SDK에서 IDataObject::QueryGetDataFORMATETC 를 참조하세요.

자세한 내용은 Windows SDK의 RegisterClipboardFormat 을 참조하세요.

예시

CRichEditView::QueryAcceptData에 대한 예제를 참조하세요.

COleDataObject::Release

이 함수를 호출하여 이전에 개체와 연결된 IDataObject 개체의 소유권을 COleDataObject 해제합니다.

void Release();

설명

IDataObject 호출 Attach 하거나 명시적으로 또는 AttachClipboard 프레임워크에 COleDataObject 의해 연결되었습니다. bAutoRelease 매개 변수가 Attach FALSE이면 개체가 IDataObject 해제되지 않습니다. 이 경우 호출자는 IUnknown::Release를 호출하여 릴리스IDataObject 담당합니다.

참고 항목

MFC 샘플 HIERSVR
MFC 샘플 OCLIENT
계층 구조 차트
COleDataSource 클래스
COleClientItem 클래스
COleServerItem 클래스