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 CDocument
türetilir.
COleDocument
OLE öğ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 CDocItem
tü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 COleDocument
tü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. COleLinkingDoc
ve COleServerDoc
öğesinden COleDocument
türetilir, bu nedenle bu sınıflar ve CDocument
içinde COleDocument
kullanılabilen tüm hizmetleri devralır.
kullanmak COleDocument
iç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. COleDocument
Bileş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
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ı GetNextClientItem
tarafı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ı GetNextItem
tarafı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ı GetNextServerItem
tarafı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 GetNextItem
değeri , GetNextClientItem
veya 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.
COleDocument::OnEditLinks
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 CDocument
uygulanması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 COleServerItem
iç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