Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uyarı
Microsoft Foundation Sınıfları (MFC) kitaplığı desteklenmeye devam ediyor. Ancak artık özellik eklemeyeceğiz veya belgeleri güncelleştirmeyeceğiz.
Bir veri nesnesi veya veri kaynağı oluşturulduktan sonra, veriler üzerinde veri ekleme ve kaldırma, verilerin içinde olduğu biçimleri numaralandırma ve daha fazlası gibi bir dizi yaygın işlem gerçekleştirebilirsiniz. Bu makalede, en yaygın işlemleri tamamlamak için gereken teknikler açıklanmaktadır. Konular şunlardır:
Veri Kaynağına Veri Ekleme
Verilerin bir veri kaynağına nasıl eklendiği, verilerin hemen mi yoksa isteğe bağlı olarak mı sağlandığına ve hangi ortamda sağlandığına bağlıdır. Olasılıklar aşağıdaki gibidir.
Verileri Hemen Sağlama (Anında İşleme)
Veri sağladığınız her bir pano biçimi için
COleDataSource::CacheGlobalData'yi tekrar tekrar çağrı yapın. Kullanılacak Pano biçimini, verileri içeren belleğe bir tanıtıcı ve isteğe bağlı olarak verileri açıklayan bir FORMATETC yapısı geçirin.-veya-
Doğrudan STGMEDIUM yapılarıyla çalışmak istiyorsanız, yukarıdaki seçenek yerine
COleDataSource::CacheDataöğesini çağırırsınızCOleDataSource::CacheGlobalData.
İsteğe Bağlı Veri Sağlama (Gecikmeli İşleme)
Bu gelişmiş bir konudur.
Veri sağladığınız her bir pano biçimi için
COleDataSource::DelayRenderData'yi tekrar tekrar çağrı yapın. Kullanılacak Pano biçimini ve isteğe bağlı olarak verileri açıklayan bir FORMATETC yapısı geçirin. Veriler istendiğinde, çerçeveCOleDataSource::OnRenderData'i çağırır ve bunu geçersiz kılmanız gerekir.-veya-
Verileri sağlamak için bir
CFilenesne kullanıyorsanız, önceki seçenek yerineCOleDataSource::DelayRenderFileDataöğesini çağırınCOleDataSource::DelayRenderData. Veriler istendiğinde, çerçeveCOleDataSource::OnRenderFileData'i çağırır ve bunu geçersiz kılmanız gerekir.
Veri Nesnesinde Kullanılabilir Biçimleri Belirleme
Bir uygulama, kullanıcının verileri yapıştırmasına izin vermeden önce Pano'da işleyebileceği herhangi bir format olup olmadığını bilmesi gerekiyor. Bunu yapmak için uygulamanız aşağıdakileri yapmalıdır:
Bir
COleDataObjectnesne ve FORMATETC yapısı oluşturun.Veri nesnesini
AttachClipboardPanodaki verilerle ilişkilendirmek için veri nesnesinin üye işlevini çağırın.Aşağıdakilerden birini yapın:
Yalnızca bir veya iki biçime ihtiyacınız varsa veri nesnesinin
IsDataAvailableüye işlevini çağırın. Bu, Pano'daki verilerin uygulamanızdan çok daha fazla biçimi desteklediği durumlarda size zaman kazandırır.-veya-
Pano'da
BeginEnumFormatskullanılabilen biçimleri listelemeye başlamak için veri nesnesinin üye işlevini çağırın. Ardından, Pano uygulamanızın desteklediği bir biçimi döndürene kadar veya başka biçim kalmadığındaGetNextFormatçağırın.
ON_UPDATE_COMMAND_UI kullanıyorsanız, artık Düzenle menüsünden Yapıştır ve büyük olasılıkla Özel Öğeleri Yapıştır'ı etkinleştirebilirsiniz. Bunu yapmak için ya CMenu::EnableMenuItem ya da CCmdUI::Enable çağırın. Kapsayıcı uygulamalarının menü öğeleriyle ve ne zaman yapması gerektiği hakkında daha fazla bilgi için bkz . Menüler ve Kaynaklar: Kapsayıcı Eklemeleri.
Veri Nesnesinden Veri Alma
Bir veri biçimine karar verdikten sonra geriye kalan tek şey, verileri veri nesnesinden almaktır. Bunu yapmak için kullanıcı verilerin nereye yerleştirileceğine karar verir ve uygulama uygun işlevi çağırır. Veriler aşağıdaki ortamlardan birinde kullanılabilir:
| Orta | Çağrılacak işlev |
|---|---|
Genel Bellek (HGLOBAL) |
COleDataObject::GetGlobalData |
Dosya (CFile) |
COleDataObject::GetFileData |
STGMEDIUM yapısı (IStorage) |
COleDataObject::GetData |
Genellikle ortam, Pano biçimiyle birlikte belirtilir. Örneğin, CF_EMBEDDEDSTRUCT nesnesi her zaman IStorage yapısı gerektiren bir ortamdadır. Bu nedenle, GetData kullanırsınız çünkü bu işlevlerden yalnızca bir STGMEDIUM yapısını kabul edebilen odur.
Pano biçiminin IStream veya HGLOBAL türünde olduğu durumlarda, çerçeve verilere referans veren bir CFile işaretçi sağlayabilir. Uygulama daha sonra, verileri bir dosyadan içeri aktarabileceği şekilde almak için dosya okuma özelliğini kullanabilir. Temelde bu, veri kaynağındaki OnRenderData ve OnRenderFileData yordamları için istemci tarafı arabirimidir.
Kullanıcı artık aynı biçimdeki diğer tüm veriler gibi belgeye veri ekleyebilir.
Ne hakkında daha fazla bilgi edinmek istiyorsunuz?
Ayrıca bakınız
Veri Nesneleri ve Veri Kaynakları (OLE)
COleDataObject Sınıfı
COleDataSource Sınıfı