Aracılığıyla paylaş


Veri nesneleri ve veri kaynakları: düzenleme

Veri nesnesi veya veri kaynağı oluşturduktan sonra çok sayıda ortak ekleme ve kaldırma verileri, Veri bölümünündeki biçimleri numaralandırma gibi verileri ve diğer işlemleri gerçekleştirebilirsiniz.Bu makalede, en yaygın işlemleri tamamlamak gerekli teknikleri.Konular:

  • Bir veri kaynağına veri ekleme

  • Veri nesnesinde kullanılabilir biçimleri belirleme

  • Veri nesnesinden veri alma

Bir veri kaynağına veri ekleme

İsteğe bağlı ve hangi ortamda sağlanan ya da verileri bir veri kaynağına nasıl eklenir olup veri hemen sağlanan üzerinde bağlıdır.Olasılıkları aşağıdaki gibidir.

9s5z33c4.collapse_all(tr-tr,VS.110).gifHemen veri (anlık görüntü oluşturma) sağlama

  • Call COleDataSource::CacheGlobalData için sürekli olarak, size sağlayarak verileri her Pano biçimi.Geçmesi için Pano biçimi veri içeren bellek tanıtıcısı ve isteğe bağlı olarak, bir formatetc tanımlayan veri yapısını.

    -veya-

  • Doğrudan çalışmak istiyorsanız, STGMEDIUM , yapıları, çağrı COleDataSource::CacheData yerine COleDataSource::CacheGlobalData yukarıdaki seçeneği.

9s5z33c4.collapse_all(tr-tr,VS.110).gif(Rendering Gecikmeli) isteğe bağlı veri sağlama

Bu ileri düzeyde bir konudur.

  • Call COleDataSource::DelayRenderData için sürekli olarak, size sağlayarak verileri her Pano biçimi.Kullanılacak Pano biçimi'ni geçmesi ve isteğe bağlı olarak, bir formatetc tanımlayan veri yapısı.Çerçeve verileri istendiğinde çağıracak COleDataSource::OnRenderData, hangi geçersiz kılmanız gerekir.

    -veya-

  • Kullanırsanız, bir CFile veri sağlamak için nesne çağrısı COleDataSource::DelayRenderFileData yerine COleDataSource::DelayRenderData önceki seçeneği.Çerçeve verileri istendiğinde çağıracak COleDataSource::OnRenderFileData, hangi geçersiz kılmanız gerekir.

Veri nesnesinde kullanılabilir biçimleri belirleme

Uygulama verileri içine yapıştırmak kullanıcı izin vermeden önce ele alabilir, Pano biçimleri olup olmadığını bilmesi gerekir.Bunu yapmak için uygulamanızı şunları yapmalıdır:

  1. Oluşturma bir COleDataObject nesnesi ve bir formatetc yapısı.

  2. Veri nesnesinin çağrısı AttachClipboard Panodaki veriler veri nesnesi ilişkilendirmek için üye işlevi.

  3. Aşağıdakilerden birini yapın:

    • Veri nesnesinin çağrısı IsDataAvailable üye işlevi, yalnızca bir veya iki biçimleri gerekir.Bu burada Pano'daki veri uygulamanızın daha önemli ölçüde daha fazla biçimleri destekler durumda size zaman kazandırır.

      -veya-

    • Veri nesnesinin çağrısı BeginEnumFormats üye işlevi numaralandırma biçimlerini panoda başlatmak için.Sonra arama GetNextFormat Pano dönünceye kadar bir biçimi uygulamanız destekler ya da daha fazla bir biçimi vardır.

Kullanıyorsanız, ON_UPDATE_COMMAND_UI, yapıştırma ve, büyük bir olasılıkla Düzen menüsünden Yapıştır özel öğeleri şimdi etkinleştirebilirsiniz.Bunu yapmak için ya da call CMenu::EnableMenuItem veya CCmdUI::Enable.Hangi kapsayıcısı hakkında daha fazla bilgi için uygulamaları menü öğeleri ile yapmak ve görmek, menüler ve kaynaklar: kapsayıcı ekleme.

Veri Nesnesinden Veriyi Geri Alma

Geriye bir veri biçimi üzerinde karar verdikten sonra kalan tek şey veriyi nesnesinden veri almak için.Bunu yapmak için kullanıcı verileri nereye karar ve uygulama uygun işlevi çağırır.Veriler aşağıdaki ortamları biri kullanılabilir:

Orta

İşlev çağrısı için

Genel bellek (HGLOBAL)

COleDataObject::GetGlobalData

File (CFile)

COleDataObject::GetFileData

STGMEDIUM yapısı (IStorage)

COleDataObject::GetData

Genellikle Orta Pano biçimi ile birlikte belirlenir.Örneğin, bir cf_embeddedstruct nesne her zaman içinde bir IStorage gerektiren Orta bir STGMEDIUM yapısı.Bu nedenle, kullanacağınız GetData alabilen bu işlevler yalnızca biri olduğu için bir STGMEDIUM yapısı.

Pano biçimi içinde olduğu durumlarda bir IStream veya HGLOBAL Orta, framework sağlayan bir CFile verilere başvuruda işaretçi.Uygulama daha sonra dosya okuma bir dosyadan veri alabileceğiniz gibi aynı şekilde veri almak için kullanabilirsiniz.Aslında, bu istemci tarafı arabirimi, OnRenderData ve OnRenderFileData yordamları veri kaynağında.

Veriyi belgeyle aynı biçimde diğer veriler için olduğu gibi artık kullanıcı olabilir.

9s5z33c4.collapse_all(tr-tr,VS.110).gifHangi konu hakkında daha fazla bilgi edinmek istiyorsunuz?

Ayrıca bkz.

Başvuru

COleDataObject sınıfı

COleDataSource sınıfı

Kavramlar

Veri nesneleri ve veri kaynakları (ole)