Aracılığıyla paylaş


Pano: ole Pano mekanizmasını kullanarak

ole, Pano üzerinden veri aktarımı için standart biçimler ve bazı ole Özel biçimler kullanır.

Kesmek veya bir uygulamadan veri kopyalama, daha sonra yapıştırma işlemlerinde kullanılacak Panodaki veriler depolanır.Bu veriler çeşitli biçimlerde olur.Kullanıcı verileri Pano'dan yapıştırmak seçtiğinde, uygulama bu biçimleri kullanmak için hangi.Kullanıcı, Özel Yapıştır'ı kullanarak belirli bir biçimi için özellikle istemediği sürece bilgilerin çoğunu sağlar biçimi seçmek için uygulamayı yeniden yazılması gerekir.Devam etmeden önce okumak isteyebilirsiniz veri nesneleri ve veri kaynakları (ole) Konular.Bunlar, nasıl iş verileri aktarır ve nasıl uygulanacaklarının uygulamalarınızda temellerini açıklar.

Windows Pano üzerinden veri aktarmak için kullanılan standart biçimlerini sayısını tanımlar.Meta dosyaları, metin, bitmapler ve diğerlerinin bunlar.ole, ole Özel biçimleri, aynı zamanda sayısını tanımlar.Bu standart biçimler tarafından verilen'den daha fazla detay gerektiren uygulamalar için kendi özel Pano biçimleri kaydetmek için bir fikirdir.Win32 API işlevini kullanın RegisterClipboardFormat Bunu yapmak için.

Örneğin, Microsoft Excel elektronik tabloları için özel bir biçim kaydeder.Daha fazla bilgi, örneğin bu biçimde taşır, bitmap yapar.Bu verileri elektronik tablo biçiminde destekleyen bir uygulamaya yapıştırıldığında, formüller ve elektronik tablodaki değerleri korunur ve gerekirse güncelleştirilebilir.ole öğesi olarak yapıştırılabilir, Microsoft Excel de veri biçimleri Pano'ya koyar.Herhangi bir ole belge kapsayıcısına bu bilgileri katıştırılmış bir öğe olarak yapıştırabilirsiniz.Bu katıştırılmış öğeye Microsoft Excel kullanılarak değiştirilebilir.Pano da basit bir bitmap görüntünün Seçili aralıkta elektronik tablo içeriyor.Bu da ole belge kapsayıcılarını veya Paint gibi bir bitmap Düzenleyicileri yapıştırılabilir.Bir bitmap durumunda, ancak verileri elektronik olarak işlemek için yolu yoktur.

En fazla miktarda bilginin Panodan almak, uygulamalar bu özel biçimleri Panodan verileri yapıştırmadan önce denetlemeniz gerekir.

Örneğin, Kes komutunu etkinleştirmek için bir işleyici aşağıdaki gibi yazabilirsiniz:

void CMyListView::OnEditCut()
{
   // Create an OLE data source on the heap
   COleDataSource* pData = new COleDataSource;
   // Get the currently selected data
   HGLOBAL hGlob = GlobalAlloc(GMEM_FIXED, 64);
   strcpy_s((char*)hGlob, 64, "Current selection\r\n");
   // For the appropriate data formats...
   pData->CacheGlobalData( CF_TEXT, hGlob );
   // The Clipboard now owns the allocated memory
   // and will delete this data object
   // when new data is put on the Clipboard
   pData->SetClipboard();
}

Hangi konu hakkında daha fazla bilgi edinmek istiyorsunuz?

Ayrıca bkz.

Kavramlar

Pano