Aracılığıyla paylaş


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

  1. 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 bir COleDataSource nesne oluşturun.

  2. Seçili öğenin üye işlevini çağırın CopyToClipboard .

  3. 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

  1. 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 .

  2. işlevinde OnEditPaste bir COleDataObject nesne oluşturun ve bu nesneyi Pano'daki verilere bağlamak için üye işlevini çağırın AttachClipboard .

  3. 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 .

  4. 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 DoPasteItemve 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.

Ne hakkında daha fazla bilgi edinmek istiyorsunuz?

Ayrıca bkz.

Pano: OLE Pano Mekanizmasını Kullanma