Pano: Veri Kopyalama ve Yapıştırma
Bu konu başlığında, OLE uygulamanızda Pano'ya kopyalamayı ve Pano'dan yapıştırmayı uygulamak için gereken en düşük çalışma açıklanmaktadır. Devam etmeden önce Veri Nesneleri ve Veri Kaynakları (OLE) konularını okumanız önerilir.
Kopyalamayı veya yapıştırmayı uygulayabilmeniz için önce Düzenle menüsündeki Kopyala, Kes ve Yapıştır seçeneklerini işlemek için işlevler sağlamanız gerekir.
Veri Kopyalama veya Kesme
Pano'ya veri kopyalamak için
Kopyalanacak verilerin yerel veri mi yoksa eklenmiş mi yoksa bağlı bir öğe mi olduğunu belirleyin.
Veriler eklenmiş veya bağlıysa, seçilen nesneye
COleClientItem
bir işaretçi alın.Veriler yerelse ve uygulama bir sunucuysa, seçilen verileri içeren yeni
COleServerItem
bir nesne oluşturun. Aksi takdirde, veriler için birCOleDataSource
nesne oluşturun.
Seçili öğenin üye işlevini çağırın
CopyToClipboard
.Kullanıcı Kopyalama işlemi yerine Kesme işlemi seçtiyse, seçili verileri uygulamanızdan silin.
Bu sıranın bir örneğini görmek için OCLIENT ve OnEditCopy
HIERSVR MFC OLE örnek programlarındaki ve işlevlerine bakınOnEditCut
. Bu örneklerin seçili durumdaki verilere ilişkin bir işaretçi bulundurduğunu, dolayısıyla 1. adımın zaten tamamlandığını unutmayın.
Verileri Yapıştırma
Verileri uygulamanıza yapıştırmak için kullanılacak biçimi seçmeniz gerektiğinden verileri yapıştırmak, verileri kopyalamaktan daha karmaşıktır.
Pano'dan veri yapıştırmak için
Görünüm sınıfınızda, Düzenle menüsünden Yapıştır seçeneğini belirleyerek kullanıcıları işlemek için uygulayın
OnEditPaste
.işlevinde
OnEditPaste
birCOleDataObject
nesne oluşturun ve bu nesneyi Pano'daki verilere bağlamak için üye işlevini çağırınAttachClipboard
.Belirli bir biçimin kullanılabilir olup olmadığını denetlemek için arayın
COleDataObject::IsDataAvailable
.Alternatif olarak, uygulamanız için en uygun olanını bulana kadar diğer biçimleri aramak için kullanabilirsiniz
COleDataObject::BeginEnumFormats
.Biçimin yapıştırma işlemini gerçekleştirin.
Bunun nasıl çalıştığına ilişkin bir örnek için, OCLIENT ve HIERSVR MFC OLE örnek programlarında tanımlanan görünüm sınıflarında üye işlevlerinin uygulanmasına OnEditPaste
bakın.
Bahşiş
Yapıştırma işlemini kendi işlevine ayırmanın temel avantajı, sürükle ve bırak işlemi sırasında uygulamanıza veri bırakıldığında aynı yapıştırma kodunun kullanılabilmesidir. OCLIENT ve HIERSVR'de olduğu gibi, işleviniz OnDrop
de çağırabilir DoPasteItem
ve Yapıştır işlemlerini uygulamak için yazılan kodu yeniden kullanabilir.
Düzenle menüsündeki Özel Yapıştır seçeneğini işlemek için OLE'de İletişim Kutuları konusuna bakın.