Aracılığıyla paylaş


COleDocument Sınıfı

Görsel düzenlemeyi destekleyen OLE belgeleri için temel sınıf.

Sözdizimi

class COleDocument : public CDocument

Üyeler

Ortak Oluşturucular

Veri Akışı Adı Açıklama
COleDocument::COleDocument Bir COleDocument nesne oluşturur.

Genel Yöntemler

Veri Akışı Adı Açıklama
COleDocument::AddItem Belge tarafından tutulan öğeler listesine bir öğe ekler.
COleDocument::ApplyPrintDevice Belgedeki tüm istemci öğeleri için yazdırma hedefi cihazını ayarlar.
COleDocument::EnableCompoundFile Belgelerin OLE Yapılandırılmış Depolama dosya biçimi kullanılarak depolanmasına neden olur.
COleDocument::GetInPlaceActiveItem Şu anda yerinde etkin olan OLE öğesini döndürür.
COleDocument::GetNextClientItem Yineleme için bir sonraki istemci öğesini alır.
COleDocument::GetNextItem Yineleme için bir sonraki belge öğesini alır.
COleDocument::GetNextServerItem Yineleme için sonraki sunucu öğesini alır.
COleDocument::GetPrimarySelectedItem Belgede seçili birincil OLE öğesini döndürür.
COleDocument::GetStartPosition Yinelemeyi başlatmak için ilk konumu alır.
COleDocument::HasBlankItems Belgedeki boş öğeleri denetler.
COleDocument::OnShowViews Belge görünür veya görünmez olduğunda çağrılır.
COleDocument::RemoveItem Belge tarafından tutulan öğeler listesinden bir öğeyi kaldırır.
COleDocument::UpdateModifiedFlag İçeren OLE öğelerinden herhangi biri değiştirilmişse, belgeyi değiştirildi olarak işaretler.

Korumalı Yöntemler

Veri Akışı Adı Açıklama
COleDocument::OnEditChangeIcon SimgeYi Değiştir menü komutundaki olayları işler.
COleDocument::OnEditConvert Katıştırılmış veya bağlı bir nesnenin bir türden diğerine dönüştürülmesiyle ilgilenir.
COleDocument::OnEditLinks Düzenle menüsündeki Bağlantılar komutundaki olayları işler.
COleDocument::OnFileSendMail Belgenin eklendiği bir posta iletisi gönderir.
COleDocument::OnUpdateEditChangeIcon Düzenle/Simgeyi Değiştir menü seçeneğinin komut kullanıcı arabirimini güncelleştirmek için çerçeve tarafından çağrılır.
COleDocument::OnUpdateEditLinksMenu Düzenle/Bağlantılar menü seçeneğinin komut kullanıcı arabirimini güncelleştirmek için çerçeve tarafından çağrılır.
COleDocument::OnUpdateObjectVerbMenu Edit/ ObjectName menü seçeneği ve Edit/ ObjectName öğesinden erişilen Fiil alt menüsü için komut kullanıcı arabirimini güncelleştirmek için çerçeve tarafından çağrılır.
COleDocument::OnUpdatePasteLinkMenu Özel Yapıştır menü seçeneğinin komut kullanıcı arabirimini güncelleştirmek için çerçeve tarafından çağrılır.
COleDocument::OnUpdatePasteMenu Yapıştır menü seçeneğinin komut kullanıcı arabirimini güncelleştirmek için çerçeve tarafından çağrılır.

Açıklamalar

COleDocument , OLE uygulamalarınızın Microsoft Foundation Sınıf Kitaplığı tarafından sağlanan belge/görünüm mimarisini kullanmasına olanak tanıyan öğesinden CDocumenttüretilir.

COleDocumentOLE öğelerini işlemek için bir belgeyi CDocItem nesneleri koleksiyonu olarak ele alır. Hem kapsayıcı hem de sunucu uygulamaları, belgelerinin OLE öğelerini içerebilmesi gerektiğinden böyle bir mimari gerektirir. Her ikisi de öğesinden CDocItemtüretilen COleServerItem ve COleClientItem sınıfları, uygulamalar ve OLE öğeleri arasındaki etkileşimleri yönetir.

Basit bir kapsayıcı uygulaması yazıyorsanız, belge sınıfınızı öğesinden COleDocumenttüretin. Belgelerinin içerdiği katıştırılmış öğelere bağlanmayı destekleyen bir kapsayıcı uygulaması yazıyorsanız, belge sınıfınızı COleLinkingDoc'tan türetin. Bir sunucu uygulaması veya karma kapsayıcı/sunucu yazıyorsanız, belge sınıfınızı COleServerDoc'tan türetin. COleLinkingDocve COleServerDoc öğesinden COleDocumenttüretilir, bu nedenle bu sınıflar ve CDocumentiçinde COleDocument kullanılabilen tüm hizmetleri devralır.

kullanmak COleDocumentiçin, öğesinden bir sınıf türetin ve uygulamanın OLE olmayan verilerini ve ekli veya bağlı öğeleri yönetmeye ilişkin işlevler ekleyin. Uygulamanın yerel verilerini depolamak için türetilmiş sınıflar tanımlarsanız CDocItem, hem OLE hem de OLE olmayan verilerinizi depolamak için tarafından COleDocument tanımlanan varsayılan uygulamayı kullanabilirsiniz. OLE olmayan verilerinizi OLE öğelerinden ayrı olarak depolamak için kendi veri yapılarınızı da tasarlayabilirsiniz. Daha fazla bilgi için Kapsayıcılar: Bileşik Dosyalar..

CDocument , posta desteği (MAPI) varsa belgenizi posta yoluyla göndermeyi destekler. COleDocumentBileşik belgeleri doğru şekilde işlemek için OnFileSendMail'i güncelleştirdi. Daha fazla bilgi için MFC'de MAPI ve MAPI Desteği makalelerine bakın..

Devralma Hiyerarşisi

CObject

CCmdTarget

CDocument

COleDocument

Gereksinimler

Üst bilgi: afxole.h

COleDocument::AddItem

Belgeye öğe eklemek için bu işlevi çağırın.

virtual void AddItem(CDocItem* pItem);

Parametreler

pItem
Eklenen belge öğesinin işaretçisi.

Açıklamalar

Belge işaretçisini kabul eden veya COleServerItem oluşturucu tarafından COleClientItem çağrıldığında bu işlevi açıkça çağırmanız gerekmez.

COleDocument::ApplyPrintDevice

Uygulamanızın kapsayıcı belgesindeki tüm katıştırılmış COleClientItem öğelerinin yazdırma hedef cihazını değiştirmek için bu işlevi çağırın.

BOOL ApplyPrintDevice(const DVTARGETDEVICE* ptd);
BOOL ApplyPrintDevice(const PRINTDLG* ppd);

Parametreler

ptd
Yeni yazdırma hedefi cihazı hakkında bilgi içeren bir DVTARGETDEVICE veri yapısının işaretçisi. NULL olabilir.

Ppd
Yeni yazdırma hedefi cihazı hakkında bilgi içeren bir PRINTDLG veri yapısının işaretçisi. NULL olabilir.

Dönüş Değeri

İşlev başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Bu işlev tüm öğeler için yazdırma hedefi cihazını güncelleştirir, ancak bu öğeler için sunu önbelleğini yenilemez. Bir öğenin sunu önbelleğini güncelleştirmek için COleClientItem::UpdateLink çağrısı yapın.

Bu işlevin bağımsız değişkenleri, OLE'nin hedef cihazı tanımlamak için kullandığı bilgileri içerir. PRINTDLG yapısı, Windows'un ortak Yazdırma iletişim kutusunu başlatmak için kullandığı bilgileri içerir. Kullanıcı iletişim kutusunu kapattıktan sonra Windows, kullanıcının bu yapıdaki seçimleri hakkında bilgi döndürür. m_pd CPrintDialog nesnesinin üyesi bir PRINTDLG yapıdır.

Daha fazla bilgi için Windows SDK'sında PRINTDLG yapısına bakın.

Daha fazla bilgi için Windows SDK'sında DVTARGETDEVICE yapısına bakın.

COleDocument::COleDocument

Bir COleDocument nesne oluşturur.

COleDocument();

COleDocument::EnableCompoundFile

Bileşik dosya biçimini kullanarak belgeyi depolamak istiyorsanız bu işlevi çağırın.

void EnableCompoundFile(BOOL bEnable = TRUE);

Parametreler

bEnable
Bileşik dosya desteğinin etkinleştirilip etkinleştirilmediğini veya devre dışı bırakılıp bırakılmadığını belirtir.

Açıklamalar

Buna yapılandırılmış depolama da denir. Bu işlevi genellikle türetilmiş sınıfınızın oluşturucusundan çağırırsınız COleDocument. Bileşik belgeler hakkında daha fazla bilgi için Kapsayıcılar : Bileşik Dosyalar..

Bu üye işlevini çağırmazsanız, belgeler yapılandırılmamış ("düz") bir dosya biçiminde depolanır.

Belge için bileşik dosya desteği etkinleştirildikten veya devre dışı bırakıldıktan sonra, belgenin ömrü boyunca ayar değiştirilmemelidir.

COleDocument::GetInPlaceActiveItem

pWnd tarafından tanımlanan görünümü içeren çerçeve penceresinde etkin durumdaki OLE öğesini almak için bu işlevi çağırın.

virtual COleClientItem* GetInPlaceActiveItem(CWnd* pWnd);

Parametreler

pWnd
Kapsayıcı belgesini görüntüleyen pencerenin işaretçisi.

Dönüş Değeri

Tek, yerinde etkin OLE öğesinin işaretçisi; Şu anda "yerinde etkin" durumda ole öğesi yoksa NULL.

COleDocument::GetNextClientItem

Belgenizdeki istemci öğelerinin her birine erişmek için bu işlevi tekrar tekrar çağırın.

COleClientItem* GetNextClientItem(POSITION& pos) const;

Parametreler

Pos
Önceki çağrısı GetNextClientItemtarafından ayarlanan POSITION değerine başvuru ; ilk değer üye işlevi tarafından GetStartPosition döndürülür.

Dönüş Değeri

Belgedeki sonraki istemci öğesinin işaretçisi veya başka istemci öğesi yoksa NULL.

Açıklamalar

Her çağrıdan sonra, pos değeri belgedeki bir sonraki öğe için ayarlanır ve bu bir istemci öğesi olabilir veya olmayabilir.

Örnek

// pDoc points to a COleDocument object
POSITION pos = pDoc->GetStartPosition();
COleClientItem* pItem;
CString strType;
while ((pItem = pDoc->GetNextClientItem(pos)) != NULL)
{
   // Use pItem
   pItem->GetUserType(USERCLASSTYPE_FULL, strType);
   TRACE(strType);
}

COleDocument::GetNextItem

Belgenizdeki öğelerin her birine erişmek için bu işlevi tekrar tekrar çağırın.

virtual CDocItem* GetNextItem(POSITION& pos) const;

Parametreler

Pos
Önceki çağrısı GetNextItemtarafından ayarlanan POSITION değerine başvuru ; ilk değer üye işlevi tarafından GetStartPosition döndürülür.

Dönüş Değeri

Belirtilen konumdaki belge öğesinin işaretçisi.

Açıklamalar

Her çağrıdan sonra, pos değeri belgedeki bir sonraki öğenin POSITION değerine ayarlanır. Alınan öğe belgedeki son öğeyse, yeni pos değeri NULL olur.

Örnek

// pDoc points to a COleDocument object
POSITION pos = pDoc->GetStartPosition();
CDocItem* pItem;
CString strType;
while (pos != NULL)
{
   pItem = pDoc->GetNextItem(pos);
   // Use pItem
   if (pItem->IsKindOf(RUNTIME_CLASS(COleClientItem)))
   {
      ((COleClientItem*)pItem)->GetUserType(USERCLASSTYPE_FULL, strType);
      TRACE(strType);
   }
}

COleDocument::GetNextServerItem

Belgenizdeki sunucu öğelerinin her birine erişmek için bu işlevi tekrar tekrar çağırın.

COleServerItem* GetNextServerItem(POSITION& pos) const;

Parametreler

Pos
Önceki çağrısı GetNextServerItemtarafından ayarlanan POSITION değerine başvuru ; ilk değer üye işlevi tarafından GetStartPosition döndürülür.

Dönüş Değeri

Belgedeki sonraki sunucu öğesinin işaretçisi veya başka sunucu öğesi yoksa NULL.

Açıklamalar

Her çağrıdan sonra, pos değeri belgedeki bir sonraki öğe için ayarlanır ve bu bir sunucu öğesi olabilir veya olmayabilir.

Örnek

// pDoc points to a COleDocument object
POSITION pos = pDoc->GetStartPosition();
COleServerItem* pItem;
while ((pItem = pDoc->GetNextServerItem(pos)) != NULL)
{
   // Use pItem
}

COleDocument::GetPrimarySelectedItem

Belirtilen görünümde seçili durumdaki OLE öğesini almak için çerçeve tarafından çağrılır.

virtual COleClientItem* GetPrimarySelectedItem(CView* pView);

Parametreler

pView
Belgeyi görüntüleyen etkin görünüm nesnesinin işaretçisi.

Dönüş Değeri

Seçili tek OLE öğesinin işaretçisi; Hiçbir OLE öğesi seçilmediyse veya birden fazla öğe seçiliyse NULL.

Açıklamalar

Varsayılan uygulama, tek bir seçili öğe için kapsanan OLE öğeleri listesinde arama gerçekleştirir ve buna bir işaretçi döndürür. Seçili öğe yoksa veya birden fazla öğe seçiliyse işlev NULL döndürür. Bu işlevin CView::IsSelected çalışması için görünüm sınıfınızdaki üye işlevini geçersiz kılmanız gerekir. İçeren OLE öğelerini depolamak için kendi yönteminiz varsa bu işlevi geçersiz kılın.

COleDocument::GetStartPosition

Belgedeki ilk öğenin konumunu almak için bu işlevi çağırın.

virtual POSITION GetStartPosition() const;

Dönüş Değeri

Belgenin öğeleri arasında yinelemeye başlamak için kullanılabilecek BIR POSITION değeri; Belgede öğe yoksa NULL.

Açıklamalar

Döndürülen GetNextItemdeğeri , GetNextClientItemveya GetNextServerItemöğesine geçirin.

COleDocument::HasBlankItems

Belgenin boş öğe içerip içermediğini belirlemek için bu işlevi çağırın.

BOOL HasBlankItems() const;

Dönüş Değeri

Belgede boş öğeler varsa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Boş öğe, dikdörtgeni boş olan öğedir.

COleDocument::OnEditChangeIcon

OLE Değiştir Simgesi iletişim kutusunu görüntüler ve seçili durumdaki OLE öğesini temsil eden simgeyi kullanıcının iletişim kutusunda seçtiği simgeyle değiştirir.

afx_msg void OnEditChangeIcon();

Açıklamalar

OnEditChangeIcon bir COleChangeIconDialog Simge Değiştir iletişim kutusu oluşturur ve başlatır.

COleDocument::OnEditConvert

OLE Dönüştür iletişim kutusunu görüntüler ve iletişim kutusundaki kullanıcı seçimlerine göre seçili durumdaki OLE öğesini dönüştürür veya etkinleştirir.

afx_msg void OnEditConvert();

Açıklamalar

OnEditConvert bir COleConvertDialog Dönüştür iletişim kutusu oluşturur ve başlatır.

Bir Microsoft Word belgesini WordPad belgesine dönüştürmeye örnek olarak dönüştürme işlemi örnek olarak verilmiştir.

OLE Düzenle/Bağlantılar iletişim kutusunu görüntüler.

afx_msg void OnEditLinks();

Açıklamalar

OnEditLinks , kullanıcının bağlı nesneleri değiştirmesine olanak tanıyan bir COleLinksDialog Bağlantılar iletişim kutusu oluşturur ve başlatır.

COleDocument::OnFileSendMail

Yerleşik posta konağı (varsa) aracılığıyla belgeyi ek olarak içeren bir ileti gönderir.

afx_msg void OnFileSendMail();

Açıklamalar

OnFileSendMail , adsız ve değiştirilmiş belgeleri seri hale getirmek (kaydetmek) için yapılan çağrıları OnSaveDocument geçici bir dosyaya gönderir ve daha sonra elektronik posta yoluyla gönderilir. Belge değiştirilmediyse geçici bir dosya gerekmez; özgün gönderilir. OnFileSendMail henüz yüklenmemişse MAPI32.DLL yükler.

uygulamasının CDocumentuygulanmasından OnFileSendMail farklı olarak, bu işlev bileşik dosyaları doğru işler.

Daha fazla bilgi için MFC makalelerinde MAPI Konuları ve MAPI Desteği makalelerine bakın..

COleDocument::OnShowViews

Belgenin görünürlük durumu değiştikten sonra çerçeve bu işlevi çağırır.

virtual void OnShowViews(BOOL bVisible);

Parametreler

bVisible
Belgenin görünür mü yoksa görünmez mi olduğunu gösterir.

Açıklamalar

Bu işlevin varsayılan sürümü hiçbir şey yapmaz. Belgenin görünürlüğü değiştiğinde uygulamanızın herhangi bir özel işlem gerçekleştirmesi gerekiyorsa bunu geçersiz kılın.

COleDocument::OnUpdateEditChangeIcon

Düzenle menüsündeki Simgeyi Değiştir komutunu güncelleştirmek için çerçeve tarafından çağrılır.

afx_msg void OnUpdateEditChangeIcon(CCmdUI* pCmdUI);

Parametreler

pCmdUI
Güncelleştirme komutunu oluşturan menüyü temsil eden bir CCmdUI yapı işaretçisi. Güncelleştirme işleyicisi, kullanıcı arabirimini Enable CCmdUI güncelleştirmek için pCmdUI aracılığıyla yapının üye işlevini çağırır.

Açıklamalar

OnUpdateEditChangeIcon , belgede geçerli bir simge bulunup bulunmadığına bağlı olarak komutun kullanıcı arabirimini güncelleştirir. Davranışı değiştirmek için bu işlevi geçersiz kılın.

COleDocument::OnUpdateEditLinksMenu

Düzen menüsündeki Bağlantılar komutunu güncelleştirmek için çerçeve tarafından çağrılır.

afx_msg void OnUpdateEditLinksMenu(CCmdUI* pCmdUI);

Parametreler

pCmdUI
Güncelleştirme komutunu oluşturan menüyü temsil eden bir CCmdUI yapı işaretçisi. Güncelleştirme işleyicisi, kullanıcı arabirimini Enable CCmdUI güncelleştirmek için pCmdUI aracılığıyla yapının üye işlevini çağırır.

Açıklamalar

Belgedeki ilk OLE öğesinden başlayarak her OnUpdateEditLinksMenu öğeye erişir, öğenin bağlantı olup olmadığını test eder ve bağlantıysa Bağlantılar komutunu etkinleştirir. Davranışı değiştirmek için bu işlevi geçersiz kılın.

COleDocument::OnUpdateObjectVerbMenu

Düzen menüsündeki ObjectName komutunu ve ObjectName komutundan erişilen Fiil alt menüsünü güncelleştirmek için çerçeve tarafından çağrılır; burada ObjectName, belgeye katıştırılmış OLE nesnesinin adıdır.

afx_msg void OnUpdateObjectVerbMenu(CCmdUI* pCmdUI);

Parametreler

pCmdUI
Güncelleştirme komutunu oluşturan menüyü temsil eden bir CCmdUI yapı işaretçisi. Güncelleştirme işleyicisi, kullanıcı arabirimini Enable CCmdUI güncelleştirmek için pCmdUI aracılığıyla yapının üye işlevini çağırır.

Açıklamalar

OnUpdateObjectVerbMenu, belgede geçerli bir nesne bulunup bulunmadığına bağlı olarak ObjectName komutunun kullanıcı arabirimini güncelleştirir. Bir nesne varsa, Düzenle menüsündeki ObjectName komutu etkinleştirilir. Bu menü komutu seçildiğinde Fiil alt menüsü görüntülenir. Fiil alt menüsü, nesne için kullanılabilen Düzenle, Özellikler vb. tüm fiil komutlarını içerir. Davranışı değiştirmek için bu işlevi geçersiz kılın.

COleDocument::OnUpdatePasteLinkMenu

Bağlı bir OLE öğesinin Pano'dan yapıştırılıp yapıştırılamayacağını belirlemek için çerçeve tarafından çağrılır.

afx_msg void OnUpdatePasteLinkMenu(CCmdUI* pCmdUI);

Parametreler

pCmdUI
Güncelleştirme komutunu oluşturan menüyü temsil eden bir CCmdUI yapı işaretçisi. Güncelleştirme işleyicisi, kullanıcı arabirimini Enable CCmdUI güncelleştirmek için pCmdUI aracılığıyla yapının üye işlevini çağırır.

Açıklamalar

Öğenin belgeye yapıştırılıp yapıştırılamayacağına bağlı olarak Özel Yapıştır menü komutu etkinleştirilir veya devre dışı bırakılır.

COleDocument::OnUpdatePasteMenu

Eklenmiş bir OLE öğesinin Pano'dan yapıştırılıp yapıştırılamayacağını belirlemek için çerçeve tarafından çağrılır.

afx_msg void OnUpdatePasteMenu(CCmdUI* pCmdUI);

Parametreler

pCmdUI
Güncelleştirme komutunu oluşturan menüyü temsil eden bir CCmdUI yapı işaretçisi. Güncelleştirme işleyicisi, kullanıcı arabirimini Enable CCmdUI güncelleştirmek için pCmdUI aracılığıyla yapının üye işlevini çağırır.

Açıklamalar

Yapıştır menüsü komutu ve düğmesi, öğenin belgeye yapıştırılıp yapıştırılamayacağına bağlı olarak etkinleştirilir veya devre dışı bırakılır.

COleDocument::RemoveItem

Belgeden bir öğeyi kaldırmak için bu işlevi çağırın.

virtual void RemoveItem(CDocItem* pItem);

Parametreler

pItem
Kaldırılacak belge öğesinin işaretçisi.

Açıklamalar

Genellikle bu işlevi açıkça çağırmanız gerekmez; ve COleServerItemiçin COleClientItem yıkıcılar tarafından çağrılır.

COleDocument::UpdateModifiedFlag

İçeren OLE öğelerinden herhangi biri değiştirilmişse, belgeyi değiştirildi olarak işaretlemek için bu işlevi çağırın.

virtual void UpdateModifiedFlag();

Açıklamalar

Bu, belgedeki yerel veriler değiştirilmemiş olsa bile, çerçevenin kullanıcıdan belgeyi kapatmadan önce kaydetmesini istemesine olanak tanır.

Ayrıca bkz.

MFC Örnek KAPSAYıCıSı
MFC Örnek MFCBIND
CDocument Sınıfı
Hiyerarşi Grafiği