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
Veri Akışı Adı | Açıklama |
---|---|
COleDataObject::COleDataObject | Bir COleDataObject nesne oluşturur. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
COleDataObject::Attach | Belirtilen OLE veri nesnesini öğesine COleDataObject ekler. |
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();
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Not
Bu işlevi çağırmak, bu veri nesnesi serbest bırakılana kadar Pano'ya kilitler. veri nesnesi, için COleDataObject
yı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 BeginEnumFormats
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.
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.
Not
Sürükle ve bırak işleyicilerinin parametrelerinden biri bir işaretçi COleDataObject
olduğ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();
Dönüş 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.
Dönüş 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 CFile
tü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.
Dönüş Değeri
Başarılı olursa verileri içeren yeni CFile
veya CFile
tü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 , CSharedFile
veya COleStreamFile
olabilirCFile
.
Not
CFile
Bu işlevin dönüş değeri tarafından erişilen nesne çağıranın sahibidir. Nesneye çağıranın delete
CFile
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.
Dönüş 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.
Dönüş 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.
Dönüş Değeri
Veriler belirtilen biçimde kullanılabiliyorsa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Bu işlev, , GetFileData
veya 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 COleDataObject
Attach
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ı