Aracılığıyla paylaş


COleDataObject Sınıfı

Pano'dan, sürükleyip bırakma yoluyla veya eklenmiş bir OLE öğesinden çeşitli biçimlerde veri almak için veri aktarımlarında kullanılır.

Sözdizimi

class COleDataObject

Üyeler

Ortak Oluşturucular

Adı Açıklama
COleDataObject::COleDataObject Bir COleDataObject nesne oluşturur.

Genel Yöntemler

Adı Açıklama
COleDataObject::Attach Belirtilen OLE veri nesnesini öğesine COleDataObjectekler.
COleDataObject::AttachClipboard Pano'da bulunan veri nesnesini ekler.
COleDataObject::BeginEnumFormats Bir veya daha fazla sonraki GetNextFormat çağrı için hazırlanır.
COleDataObject::D etach İlişkili IDataObject nesneyi ayırır.
COleDataObject::GetData Ekli OLE veri nesnesindeki verileri belirtilen biçimde kopyalar.
COleDataObject::GetFileData Ekli OLE veri nesnesindeki verileri belirtilen biçimde bir CFile işaretçiye kopyalar.
COleDataObject::GetGlobalData Ekli OLE veri nesnesindeki verileri belirtilen biçimde bir HGLOBAL içine kopyalar.
COleDataObject::GetNextFormat Kullanılabilir sonraki veri biçimini döndürür.
COleDataObject::IsDataAvailable Verilerin belirtilen biçimde kullanılabilir olup olmadığını denetler.
COleDataObject::Release İlişkili IDataObject nesneyi ayırır ve serbest bırakır.

Açıklamalar

COleDataObject temel sınıfına sahip değildir.

Bu tür veri aktarımları bir kaynak ve hedef içerir. Veri kaynağı, COleDataSource sınıfının bir nesnesi olarak uygulanır. Hedef uygulamanın içinde bırakılan veriler olduğunda veya Pano'dan bir yapıştırma işlemi gerçekleştirmesi istenildiğinde, sınıfın COleDataObject bir nesnesi oluşturulmalıdır.

Bu sınıf, verilerin belirtilen biçimde var olup olmadığını belirlemenizi sağlar. Ayrıca kullanılabilir veri biçimlerini numaralandırabilir veya belirli bir biçimin kullanılabilir olup olmadığını denetledikten sonra verileri tercih edilen biçimde alabilirsiniz. Nesne alma işlemi CFile, HGLOBAL veya STGMEDIUM yapı kullanımı gibi çeşitli yollarla gerçekleştirilebilir.

Daha fazla bilgi için Windows SDK'sında STGMEDIUM yapısına bakın.

Uygulamanızda veri nesnelerini kullanma hakkında daha fazla bilgi için Veri Nesneleri ve Veri Kaynakları (OLE) makalesine bakın.

Devralma Hiyerarşisi

COleDataObject

Gereksinimler

Üst bilgi: afxole.h

COleDataObject::Attach

Nesneyi bir OLE veri nesnesiyle ilişkilendirmek COleDataObject için bu işlevi çağırın.

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

Parametreler

lpDataObject
Ole veri nesnesine işaret eden.

bAutoRelease
NESNE yok edildiğinde OLE veri nesnesinin COleDataObject serbest bırakılması gerekiyorsa TRUE; aksi takdirde YANLIŞ.

Açıklamalar

Daha fazla bilgi için bkz . Windows SDK'sında IDataObject .

COleDataObject::AttachClipboard

Pano'da bulunan veri nesnesini nesneye eklemek için bu işlevi çağırın COleDataObject .

BOOL AttachClipboard();

İade Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Dekont

Bu işlevi çağırmak, bu veri nesnesi serbest bırakılana kadar Pano'ya kilitler. veri nesnesi, için COleDataObjectyıkıcıda serbest bırakılır. Daha fazla bilgi için Win32 belgelerindeki OpenClipboard ve CloseClipboard'a bakın.

COleDataObject::BeginEnumFormats

Öğeden veri biçimlerinin listesini almaya yönelik sonraki çağrılara hazırlanmak GetNextFormat için bu işlevi çağırın.

void BeginEnumFormats();

Açıklamalar

çağrısından BeginEnumFormatssonra, bu veri nesnesi tarafından desteklenen ilk biçimin konumu depolanır. 'a yapılan ardışık GetNextFormat çağrılar, veri nesnesindeki kullanılabilir biçimlerin listesini numaralandırır.

Verilerin belirli bir biçimde kullanılabilirliğini denetlemek için COleDataObject::IsDataAvailable kullanın.

Daha fazla bilgi için bkz . Windows SDK'sında IDataObject::EnumFormatEtc .

COleDataObject::COleDataObject

Bir COleDataObject nesne oluşturur.

COleDataObject();

Açıklamalar

Diğer COleDataObject işlevleri çağırmadan önce COleDataObject::Attach veya COleDataObject::AttachClipboard çağrısı yapılmalıdır.

Dekont

Sürükle ve bırak işleyicilerinin parametrelerinden biri bir işaretçi COleDataObjectolduğundan, sürükleyip bırakmayı desteklemek için bu oluşturucuyu çağırmaya gerek yoktur.

COleDataObject::D etach

Veri nesnesini serbest bırakmadan nesneyi ilişkili OLE veri nesnesinden ayırmak COleDataObject için bu işlevi çağırın.

LPDATAOBJECT Detach();

İade Değeri

Ayrılmış OLE veri nesnesinin işaretçisi.

Açıklamalar

COleDataObject::GetData

Öğeden belirtilen biçimde veri almak için bu işlevi çağırın.

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

Parametreler

cfFormat
Verilerin döndürülecek biçimi. Bu parametre, önceden tanımlanmış Pano biçimlerinden biri veya yerel Windows RegisterClipboardFormat işlevi tarafından döndürülen değer olabilir.

lpStgMedium
Verileri alacak bir STGMEDIUM yapısına işaret eder.

lpFormatEtc
Verilerin döndürülecek biçimini açıklayan bir FORMATETC yapısını gösterir. cfFormat tarafından belirtilen Pano biçiminin ötesinde ek biçim bilgileri belirtmek istiyorsanız bu parametre için bir değer sağlayın. NULL ise, yapıdaki diğer alanlar FORMATETC için varsayılan değerler kullanılır.

İade Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Daha fazla bilgi için bkz . Windows SDK'sında IDataObject::GetData, STGMEDIUM ve FORMATETC .

Daha fazla bilgi için bkz . Windows SDK'sında RegisterClipboardFormat .

COleDataObject::GetFileData

Veya CFiletüretilmiş bir CFile nesne oluşturmak ve belirtilen biçimdeki verileri işaretçiye CFile almak için bu işlevi çağırın.

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

Parametreler

cfFormat
Verilerin döndürülecek biçimi. Bu parametre, önceden tanımlanmış Pano biçimlerinden biri veya yerel Windows RegisterClipboardFormat işlevi tarafından döndürülen değer olabilir.

lpFormatEtc
Verilerin döndürülecek biçimini açıklayan bir FORMATETC yapısını gösterir. cfFormat tarafından belirtilen Pano biçiminin ötesinde ek biçim bilgileri belirtmek istiyorsanız bu parametre için bir değer sağlayın. NULL ise, yapıdaki diğer alanlar FORMATETC için varsayılan değerler kullanılır.

İade Değeri

Başarılı olursa verileri içeren yeni CFile veya CFiletüretilmiş nesnenin işaretçisi; aksi takdirde NULL.

Açıklamalar

Verilerin depolandığı ortama bağlı olarak, dönüş değeri tarafından işaret edilen gerçek tür , CSharedFileveya COleStreamFileolabilirCFile.

Dekont

CFile Bu işlevin dönüş değeri tarafından erişilen nesne çağıranın sahibidir. Nesneye çağıranın deleteCFile sorumluluğundadır, böylece dosya kapatılır.

Daha fazla bilgi için bkz . Windows SDK'sında FORMATETC .

Daha fazla bilgi için bkz . Windows SDK'sında RegisterClipboardFormat .

COleDataObject::GetGlobalData

Genel bellek bloğu ayırmak ve belirtilen biçimdeki verileri HGLOBAL'a almak için bu işlevi çağırın.

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

Parametreler

cfFormat
Verilerin döndürülecek biçimi. Bu parametre, önceden tanımlanmış Pano biçimlerinden biri veya yerel Windows RegisterClipboardFormat işlevi tarafından döndürülen değer olabilir.

lpFormatEtc
Verilerin döndürülecek biçimini açıklayan bir FORMATETC yapısını gösterir. cfFormat tarafından belirtilen Pano biçiminin ötesinde ek biçim bilgileri belirtmek istiyorsanız bu parametre için bir değer sağlayın. NULL ise, yapıdaki diğer alanlar FORMATETC için varsayılan değerler kullanılır.

İade Değeri

Başarılı olursa verileri içeren genel bellek bloğunun tanıtıcısı; aksi takdirde NULL.

Açıklamalar

Daha fazla bilgi için bkz . Windows SDK'sında FORMATETC .

Daha fazla bilgi için bkz . Windows SDK'sında RegisterClipboardFormat .

COleDataObject::GetNextFormat

Öğeden veri almak için kullanılabilecek tüm biçimleri almak için bu işlevi tekrar tekrar çağırın.

BOOL GetNextFormat(LPFORMATETC lpFormatEtc);

Parametreler

lpFormatEtc
İşlev çağrısı döndürdüğünde biçim bilgilerini alan FORMATETC yapısını gösterir.

İade Değeri

Başka bir biçim varsa sıfır olmayan; aksi takdirde 0.

Açıklamalar

COleDataObject::BeginEnumFormats çağrısından sonra, bu veri nesnesi tarafından desteklenen ilk biçimin konumu depolanır. 'a yapılan ardışık GetNextFormat çağrılar, veri nesnesindeki kullanılabilir biçimlerin listesini numaralandırır. Kullanılabilir biçimleri listelemek için bu işlevleri kullanın.

Belirli bir biçimin kullanılabilirliğini denetlemek için COleDataObject::IsDataAvailable'ı çağırın.

Daha fazla bilgi için bkz . Windows SDK'sında IEnumXXXX::Next .

COleDataObject::IsDataAvailable

OLE öğesinden veri almak için belirli bir biçimin kullanılabilir olup olmadığını belirlemek için bu işlevi çağırın.

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

Parametreler

cfFormat
lpFormatEtc tarafından işaret edilen yapıda kullanılacak Pano veri biçimi. Bu parametre, önceden tanımlanmış Pano biçimlerinden biri veya yerel Windows RegisterClipboardFormat işlevi tarafından döndürülen değer olabilir.

lpFormatEtc
İstenen biçimi açıklayan bir FORMATETC yapısını gösterir. Bu parametre için yalnızca cfFormat tarafından belirtilen Pano biçiminin ötesinde ek biçim bilgileri belirtmek istiyorsanız bir değer sağlayın. NULL ise, yapıdaki diğer alanlar FORMATETC için varsayılan değerler kullanılır.

İade Değeri

Veriler belirtilen biçimde kullanılabiliyorsa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Bu işlev, , GetFileDataveya GetGlobalDataçağrılmadan GetDataönce yararlıdır.

Daha fazla bilgi için bkz . Windows SDK'sında IDataObject::QueryGetData ve FORMATETC .

Daha fazla bilgi için bkz . Windows SDK'sında RegisterClipboardFormat .

Örnek

CRichEditView::QueryAcceptData örneğine bakın.

COleDataObject::Release

Daha önce nesneyle ilişkilendirilmiş olan IDataObject nesnesinin sahipliğini serbest bırakmak için bu işlevi çağırınCOleDataObject.

void Release();

Açıklamalar

ile IDataObject çağrılarak COleDataObjectAttach veya açıkça ya da AttachClipboard çerçeve tarafından ilişkilendirildi. bAutoRelease parametresi Attach FALSE ise, IDataObject nesnesi serbest bırakılmaz. Bu durumda arayan, IUnknown::Release çağrısı yaparak öğesini IDataObject serbest bırakmaktan sorumludur.

Ayrıca bkz.

MFC Örnek HIERSVR
MFC Örnek OCLIENT
Hiyerarşi Grafiği
COleDataSource Sınıfı
COleClientItem Sınıfı
COleServerItem Sınıfı