CDocument
Sınıf
Kullanıcı tanımlı belge sınıfları için temel işlevleri sağlar.
Sözdizimi
class CDocument : public CCmdTarget
Üyeler
Ortak Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
CDocument::CDocument |
Bir CDocument nesne oluşturur. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
CDocument::AddView |
Belgeye bir görünüm ekler. |
CDocument::BeginReadChunks |
Öbek okumayı başlatır. |
CDocument::CanCloseFrame |
Gelişmiş geçersiz kılınabilir; bu belgeyi görüntüleyen bir çerçeve penceresini kapatmadan önce çağrılır. |
CDocument::ClearChunkList |
Öbek listesini temizler. |
CDocument::ClearPathName |
Belge nesnesinin yolunu temizler. |
CDocument::DeleteContents |
Belgeyi temizlemek için çağrıldı. |
CDocument::FindChunk |
Belirtilen GUID ile bir öbek arar. |
CDocument::GetAdapter |
Arabirim uygulayan IDocument nesneye bir işaretçi döndürür. |
CDocument::GetDocTemplate |
Belge şablonuna, belgenin türünü açıklayan bir işaretçi döndürür. |
CDocument::GetFile |
İstenen CFile nesneye bir işaretçi döndürür. |
CDocument::GetFirstViewPosition |
Görünümler listesinde birincinin konumunu döndürür; yinelemeyi başlatmak için kullanılır. |
CDocument::GetNextView |
Belgeyle ilişkilendirilmiş görünümler listesinde yinelenir. |
CDocument::GetPathName |
Belgenin veri dosyasının yolunu döndürür. |
CDocument::GetThumbnail |
Küçük resim sağlayıcısı tarafından küçük resim görüntülemek üzere kullanılacak bir bit eşlem oluşturmak için çağrılır. |
CDocument::GetTitle |
Belgenin başlığını döndürür. |
CDocument::InitializeSearchContent |
Arama İşleyicisi için arama içeriğini başlatmak için çağrıldı. |
CDocument::IsModified |
Belgenin son kaydedildiğinden beri değiştirilip değiştirilmediğini gösterir. |
CDocument::IsSearchAndOrganizeHandler |
Bu nesne örneğinin CDocument Arama ve Düzenleme işleyicisi için oluşturulup oluşturulmadığını bildirir. |
CDocument::LoadDocumentFromStream |
Akıştan belge verilerini yüklemek için çağrılır. |
CDocument::OnBeforeRichPreviewFontChanged |
Zengin Önizleme yazı tipi değiştirilmeden önce çağrılır. |
CDocument::OnChangedViewList |
Belgeye bir görünüm eklendikten veya belgeden kaldırıldıktan sonra çağrılır. |
CDocument::OnCloseDocument |
Belgeyi kapatmak için çağrıldı. |
CDocument::OnCreatePreviewFrame |
Zengin Önizleme için bir önizleme çerçevesi oluşturması gerektiğinde çerçeve tarafından çağrılır. |
CDocument::OnDocumentEvent |
Bir belge olayına yanıt olarak çerçeve tarafından çağrılır. |
CDocument::OnDrawThumbnail |
Küçük resmin içeriğini çizmek için türetilmiş bir sınıfta bu yöntemi geçersiz kılın. |
CDocument::OnLoadDocumentFromStream |
Akıştan belge verilerini yüklemesi gerektiğinde çerçeve tarafından çağrılır. |
CDocument::OnNewDocument |
Yeni bir belge oluşturmak için çağrıldı. |
CDocument::OnOpenDocument |
Var olan bir belgeyi açmak için çağrıldı. |
CDocument::OnPreviewHandlerQueryFocus |
önizleme işleyicisini İşlev'i HWND çağırmadan döndürmeye GetFocus yönlendirir. |
CDocument::OnPreviewHandlerTranslateAccelerator |
Önizleme işleyicisini, önizleme işleyicisinin çalıştığı işlemin ileti pompasından geçirilen bir tuş vuruşunu işlemeye yönlendirir. |
CDocument::OnRichPreviewBackColorChanged |
Zengin Önizleme arka plan rengi değiştiğinde çağrılır. |
CDocument::OnRichPreviewFontChanged |
Zengin Önizleme yazı tipi değiştiğinde çağrılır. |
CDocument::OnRichPreviewSiteChanged |
Rich Preview sitesi değiştiğinde çağrılır. |
CDocument::OnRichPreviewTextColorChanged |
Zengin Önizleme metin rengi değiştiğinde çağrılır. |
CDocument::OnSaveDocument |
Belgeyi diske kaydetmek için çağrıldı. |
CDocument::OnUnloadHandler |
Önizleme işleyicisi kaldırıldığında çerçeve tarafından çağrılır. |
CDocument::PreCloseFrame |
Çerçeve penceresi kapatılana kadar çağrılır. |
CDocument::ReadNextChunkValue |
Sonraki öbek değerini okur. |
CDocument::ReleaseFile |
Bir dosyayı diğer uygulamalar tarafından kullanılabilir hale getirmek için serbest bırakır. |
CDocument::RemoveChunk |
Belirtilen GUID ile bir öbek kaldırır. |
CDocument::RemoveView |
Belgeden bir görünümü ayırır. |
CDocument::ReportSaveLoadException |
Gelişmiş geçersiz kılınabilir; bir özel durum nedeniyle bir açma veya kaydetme işlemi tamamlanamadığında çağrılır. |
CDocument::SaveModified |
Gelişmiş geçersiz kılınabilir; kullanıcısına belgenin kaydedilip kaydedilmeyeceğini sormak için çağrılır. |
CDocument::SetChunkValue |
Bir öbek değeri ayarlar. |
CDocument::SetModifiedFlag |
Belgeyi en son kaydedildikten sonra değiştirdiğinize ilişkin bir bayrak ayarlar. |
CDocument::SetPathName |
Belge tarafından kullanılan veri dosyasının yolunu ayarlar. |
CDocument::SetTitle |
Belgenin başlığını ayarlar. |
CDocument::UpdateAllViews |
Belgenin değiştirildiğini tüm görünümlere bildirir. |
Korumalı Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
CDocument::OnFileSendMail |
Belgenin eklendiği bir posta iletisi gönderir. |
CDocument::OnUpdateFileSendMail |
Posta desteği varsa Posta Gönder komutunu etkinleştirir. |
Ortak Veri Üyeleri
Veri Akışı Adı | Açıklama |
---|---|
CDocument::m_bGetThumbnailMode |
Nesnenin CDocument dllhost tarafından küçük resimler için oluşturulduğunu belirtir. içinde CView::OnDraw iade edilmelidir. |
CDocument::m_bPreviewHandlerMode |
nesnesinin CDocument için Rich Preview prevhost tarafından oluşturulduğunu belirtir. içinde CView::OnDraw iade edilmelidir. |
CDocument::m_bSearchMode |
Nesnenin CDocument dizin oluşturucu veya başka bir arama uygulaması tarafından oluşturulduğunu belirtir. |
CDocument::m_clrRichPreviewBackColor |
Zengin Önizleme penceresinin arka plan rengini belirtir. Bu renk konak tarafından ayarlanır. |
CDocument::m_clrRichPreviewTextColor |
Zengin Önizleme penceresinin ön plan rengini belirtir. Bu renk konak tarafından ayarlanır. |
CDocument::m_lfRichPreviewFont |
Zengin Önizleme penceresi için metin yazı tipini belirtir. Bu yazı tipi bilgileri konak tarafından ayarlanır. |
Açıklamalar
Belge, kullanıcının normalde Dosya Aç komutuyla açtığı ve Dosya Kaydet komutuyla kaydettiği veri birimini temsil eder.
CDocument
belge oluşturma, yükleme ve kaydetme gibi standart işlemleri destekler. Çerçeve, tarafından CDocument
tanımlanan arabirimi kullanarak belgeleri işler.
Bir uygulama birden fazla belge türünü destekleyebilir; örneğin, bir uygulama hem elektronik tabloları hem de metin belgelerini destekleyebileceğinden. Her belge türünün ilişkili bir belge şablonu vardır; belge şablonu, bu tür belge için hangi kaynakların (örneğin, menü, simge veya hızlandırıcı tablosu) kullanıldığını belirtir. Her belge, ilişkili CDocTemplate
nesnesine yönelik bir işaretçi içerir.
Kullanıcılar, belgeyle ilişkili nesneler aracılığıyla CView
belgeyle etkileşim kurar. Görünüm, bir çerçeve penceresinde belgenin görüntüsünü işler ve kullanıcı girişini belgede işlem olarak yorumlar. Belgenin kendisiyle ilişkilendirilmiş birden çok görünümü olabilir. Kullanıcı belge üzerinde bir pencere açtığında, çerçeve bir görünüm oluşturur ve belgeye ekler. Belge şablonu, her belge türünü görüntülemek için hangi görünüm ve çerçeve penceresinin kullanılacağını belirtir.
Belgeler, çerçevenin standart komut yönlendirmesinin bir parçasıdır ve sonuç olarak standart kullanıcı arabirimi bileşenlerinden (Dosya Kaydet menü öğesi gibi) komutlar alır. Belge, etkin görünüm tarafından iletilen komutları alır. Belge belirli bir komutu işlemezse, komutu onu yöneten belge şablonuna iletir.
Belgenin verileri değiştirildiğinde, her bir görünümünün bu değişiklikleri yansıtması gerekir. CDocument
UpdateAllViews
, bu tür değişikliklerin görünümlerini bilgilendirmeniz için üye işlevini sağlar, böylece görünümler gerektiğinde yeniden boyanabilir. Çerçeve ayrıca kullanıcıdan değiştirilmiş bir dosyayı kapatmadan önce kaydetmesini ister.
Tipik bir uygulamada belge uygulamak için aşağıdakileri yapmanız gerekir:
Her belge türü için öğesinden
CDocument
bir sınıf türetin.Her belgenin verilerini depolamak için üye değişkenleri ekleyin.
Belgenin verilerini okumak ve değiştirmek için üye işlevleri uygulayın. Belgenin görünümleri, bu üye işlevlerinin en önemli kullanıcılarıdır.
Belgenin verilerini diske
CObject::Serialize
ve diskten yazmak ve okumak için belge sınıfınızdaki üye işlevini geçersiz kılın.
CDocument
, posta desteği (MAPI) varsa belgenizi posta yoluyla göndermeyi destekler. MFC'de MAPI ve MAPI Desteği makalelerine bakın.
hakkında CDocument
daha fazla bilgi için bkz . Serileştirme, Belge/Görünüm Mimarisi Konuları ve Belge/Görünüm Oluşturma.
Devralma Hiyerarşisi
CDocument
Gereksinimler
Üstbilgi: afxwin.h
CDocument::AddView
Belgeye görünüm eklemek için bu işlevi çağırın.
void AddView(CView* pView);
Parametreler
pView
Eklenen görünümü gösterir.
Açıklamalar
Bu işlev, belirtilen görünümü belgeyle ilişkilendirilmiş görünümler listesine ekler; işlevi, görünümün belge işaretçisini de bu belgeye ayarlar. Çerçeve, belgeye yeni oluşturulan bir görünüm nesnesi eklerken bu işlevi çağırır; Bu, Dosya Yeni, Dosya Aç veya Yeni Pencere komutuna yanıt olarak veya bir bölücü penceresi bölündüğünde gerçekleşir.
Bu işlevi yalnızca el ile bir görünüm oluşturup iliştiriyorsanız çağırabilirsiniz. Genellikle bir belge sınıfını ilişkilendirmek, sınıfı görüntülemek ve pencere sınıfını çerçeveye eklemek için bir CDocTemplate
nesne tanımlayarak çerçevenin belgeleri ve görünümleri bağlamasına izin verirsiniz.
Örnek
// The following example toggles two views in an SDI (single document
// interface) frame window. A design decision must be made as to
// whether to leave the inactive view connected to the document,
// such that the inactive view continues to receive OnUpdate
// notifications from the document. It is usually desirable to
// keep the inactive view continuously in sync with the document, even
// though it is inactive. However, doing so incurs a performance cost,
// as well as the programming cost of implementing OnUpdate hints.
// It may be less expensive, in terms of performance and/or programming,
// to re-sync the inactive view with the document only with it is
// reactivated. This example illustrates this latter approach, by
// reconnecting the newly active view and disconnecting the newly
// inactive view, via calls to CDocument::AddView and RemoveView.
void CMainFrame::OnViewChange(UINT nCmdID)
// There is an ON_COMMAND_RANGE message map entry associated with
// OnViewChange:
// ON_COMMAND_RANGE(ID_VIEW_CHANGE1, ID_VIEW_CHANGE2, &OnViewChange)
{
CView *pViewAdd;
CView *pViewRemove;
CDocument *pDoc = GetActiveDocument();
// cvView1 and cvView2 are enum members defined in my CMainFrame class
if ((nCmdID == ID_VIEW_CHANGE1) && (m_currentView == cvView1))
return;
if ((nCmdID == ID_VIEW_CHANGE2) && (m_currentView == cvView2))
return;
if (nCmdID == ID_VIEW_CHANGE2)
{
if (m_pView2 == NULL)
{
m_pView1 = GetActiveView();
m_pView2 = new CMyView2;
//Note that if OnSize has been overridden in CMyView2
//and GetDocument() is used in this override it can
//cause assertions and, if the assertions are ignored,
//cause access violation.
m_pView2->Create(NULL, NULL, AFX_WS_DEFAULT_VIEW, rectDefault, this,
AFX_IDW_PANE_FIRST + 1, NULL);
}
pViewAdd = m_pView2;
pViewRemove = m_pView1;
m_currentView = cvView2;
}
else
{
pViewAdd = m_pView1;
pViewRemove = m_pView2;
m_currentView = cvView1;
}
// Set the child i.d. of the active view to AFX_IDW_PANE_FIRST,
// so that CFrameWnd::RecalcLayout will allocate to this
// "first pane" that portion of the frame window's client area
// not allocated to control bars. Set the child i.d. of the
// other view to anything other than AFX_IDW_PANE_FIRST; this
// examples switches the child id's of the two views.
int nSwitchChildID = pViewAdd->GetDlgCtrlID();
pViewAdd->SetDlgCtrlID(AFX_IDW_PANE_FIRST);
pViewRemove->SetDlgCtrlID(nSwitchChildID);
// Show the newly active view and hide the inactive view.
pViewAdd->ShowWindow(SW_SHOW);
pViewRemove->ShowWindow(SW_HIDE);
// Connect the newly active view to the document, and
// disconnect the inactive view.
pDoc->AddView(pViewAdd);
pDoc->RemoveView(pViewRemove);
SetActiveView(pViewAdd);
RecalcLayout();
}
CDocument::BeginReadChunks
Öbek okumayı başlatır.
virtual void BeginReadChunks ();
Açıklamalar
CDocument::CanCloseFrame
Belgeyi görüntüleyen bir çerçeve penceresi kapatılana kadar çerçeve tarafından çağrılır.
virtual BOOL CanCloseFrame(CFrameWnd* pFrame);
Parametreler
pFrame
Belgeye eklenmiş bir görünümün çerçeve penceresini gösterir.
Dönüş Değeri
Çerçeve penceresini kapatmak güvenliyse sıfır olmayan; aksi takdirde 0.
Açıklamalar
Varsayılan uygulama, belgeyi görüntüleyen başka çerçeve pencereleri olup olmadığını denetler. Belirtilen çerçeve penceresi belgeyi en son görüntüleyen pencereyse, işlev kullanıcıdan değiştirilmişse belgeyi kaydetmesini ister. Çerçeve penceresi kapatıldığında özel işlem gerçekleştirmek istiyorsanız bu işlevi geçersiz kılın. Bu, gelişmiş bir geçersiz kılınabilir.
CDocument::CDocument
Bir CDocument
nesne oluşturur.
CDocument();
Açıklamalar
Çerçeve, belge oluşturmayı sizin için işler. OnNewDocument
Belge başına başlatma gerçekleştirmek için üye işlevini geçersiz kılın; bu özellikle tek belge arabirimi (SDI) uygulamalarında önemlidir.
CDocument::ClearChunkList
Öbek listesini temizler.
virtual void ClearChunkList ();
Açıklamalar
CDocument::ClearPathName
Belge nesnesinin yolunu temizler.
virtual void ClearPathName();
Açıklamalar
Bir CDocument
nesneden yolu temizlemek, uygulamanın belge bir sonraki kaydedildiğinde kullanıcıya sormasına neden olur. Bu, Kaydet komutunun Farklı Kaydet komutu gibi davranması sağlar.
CDocument::DeleteContents
Nesnenin kendisini yok CDocument
etmeden belgenin verilerini silmek için çerçeve tarafından çağrılır.
virtual void DeleteContents();
Açıklamalar
Belge yok edilmeden hemen önce çağrılır. Belge yeniden kullanmadan önce boş olduğundan emin olmak için de çağrılır. Bu, yalnızca bir belge kullanan bir SDI uygulaması için özellikle önemlidir; kullanıcı başka bir belge oluşturduğunda veya açtığında belge yeniden kullanılır. Belgenin tüm verilerini silecek bir "Tümünü Düzenle" veya benzer bir komut uygulamak için bu işlevi çağırın. Bu işlevin varsayılan uygulaması hiçbir şey yapmaz. Belgenizdeki verileri silmek için bu işlevi geçersiz kılın.
Örnek
// This example is the handler for an Edit Clear All command.
void CExampleDoc::OnEditClearAll()
{
DeleteContents();
UpdateAllViews(NULL);
}
void CExampleDoc::DeleteContents()
{
// Re-initialize document data here.
}
CDocument::FindChunk
Belirtilen GUID'ye sahip bir öbek arar.
virtual POSITION FindChunk(
REFCLSID guid,
DWORD pid);
Parametreler
guid
Bulunacak öbek GUID'sini belirtir.
pid
Bulunacak öbek piD değerini belirtir.
Dönüş Değeri
Başarılı olursa iç öbek listesinde konum. Aksi takdirde NULL
.
Açıklamalar
CDocument::GetAdapter
Arabirimi uygulayan bir nesnenin işaretçisini IDocument
döndürür.
virtual ATL::IDocument* GetAdapter();
Dönüş Değeri
Arabirimi uygulayan bir nesnenin işaretçisi IDocument
.
Açıklamalar
CDocument::GetDocTemplate
Bu belge türü için belge şablonunun işaretçisini almak için bu işlevi çağırın.
CDocTemplate* GetDocTemplate() const;
Dönüş Değeri
Bu belge türü için belge şablonunun işaretçisi veya belge bir belge şablonu tarafından yönetilmiyorsa NULL.
Örnek
// This example accesses the doc template object to construct
// a default document name such as SHEET.XLS, where "sheet"
// is the base document name and ".xls" is the file extension
// for the document type.
CString strDefaultDocName, strBaseName, strExt;
CDocTemplate *pDocTemplate = GetDocTemplate();
if (!pDocTemplate->GetDocString(strBaseName, CDocTemplate::docName) || !pDocTemplate->GetDocString(strExt, CDocTemplate::filterExt))
{
AfxThrowUserException(); // These doc template strings will
// be available if you created the application using AppWizard
// and specified the file extension as an option for
// the document class produced by AppWizard.
}
strDefaultDocName = strBaseName + strExt;
CDocument::GetFile
Bir nesneye işaretçi almak için CFile
bu üye işlevini çağır.
virtual CFile* GetFile(
LPCTSTR lpszFileName,
UINT nOpenFlags,
CFileException* pError);
Parametreler
lpszFileName
İstenen dosyanın yolu olan bir dize. Yol göreli veya mutlak olabilir.
pError
İşlemin tamamlanma durumunu gösteren mevcut bir dosya özel durum nesnesine yönelik işaretçi.
nOpenFlags
Paylaşım ve erişim modu. Dosyayı açarken gerçekleştirecek eylemi belirtir. CFile oluşturucusunda CFile::CFile
listelenen seçenekleri bit düzeyinde OR (|
) işlecini kullanarak birleştirebilirsiniz. Bir erişim izni ve bir paylaşım seçeneği gereklidir; modeCreate
ve modeNoInherit
modları isteğe bağlıdır.
Dönüş Değeri
Nesne işaretçisi CFile
.
CDocument::GetFirstViewPosition
Belgeyle ilişkilendirilmiş görünümler listesinde ilk görünümün konumunu almak için bu işlevi çağırın.
virtual POSITION GetFirstViewPosition() const;
Dönüş Değeri
POSITION
Üye işleviyle GetNextView
yineleme için kullanılabilecek bir değer.
Örnek
//To get the first view in the list of views:
//To get the first view in the list of views:
// POSITION pos = GetFirstViewPosition();
// CView* pFirstView = GetNextView(pos);
//
// This example uses CDocument::GetFirstViewPosition
// and GetNextView to repaint each view.
// An easier way to accomplish the same result is to call
// UpdateAllViews(NULL);
void CExampleDoc::OnRepaintAllViews()
{
POSITION pos = GetFirstViewPosition();
while (pos != NULL)
{
CView *pView = GetNextView(pos);
pView->UpdateWindow();
}
}
CDocument::GetNextView
Belgenin tüm görünümlerini yinelemek için bu işlevi çağırın.
virtual CView* GetNextView(POSITION& rPosition) const;
Parametreler
rPosition
veya GetFirstViewPosition
üye işlevlerine POSITION
önceki bir çağrı tarafından döndürülen bir değere başvuruGetNextView
. Bu değer olmamalıdır NULL
.
Dönüş Değeri
tarafından rPosition
tanımlanan görünümün işaretçisi.
Açıklamalar
işlevi tarafından rPosition
tanımlanan görünümü döndürür ve ardından listedeki bir sonraki görünümün değerine ayarlar rPosition
POSITION
. Alınan görünüm listenin son görünümüyse, rPosition
olarak ayarlanır NULL
.
Örnek
//To get the first view in the list of views:
//To get the first view in the list of views:
// POSITION pos = GetFirstViewPosition();
// CView* pFirstView = GetNextView(pos);
//
// This example uses CDocument::GetFirstViewPosition
// and GetNextView to repaint each view.
// An easier way to accomplish the same result is to call
// UpdateAllViews(NULL);
void CExampleDoc::OnRepaintAllViews()
{
POSITION pos = GetFirstViewPosition();
while (pos != NULL)
{
CView *pView = GetNextView(pos);
pView->UpdateWindow();
}
}
CDocument::GetPathName
Belgenin disk dosyasının tam yolunu almak için bu işlevi çağırın.
const CString& GetPathName() const;
Dönüş Değeri
Belgenin tam yolu. Belge kaydedilmediyse veya kendisiyle ilişkilendirilmiş bir disk dosyası yoksa bu dize boş olur.
CDocument::GetThumbnail
Küçük resim sağlayıcısı tarafından küçük resmi görüntülemek için kullanılacak bir bit eşlem oluşturur.
virtual BOOL GetThumbnail(
UINT cx,
HBITMAP* phbmp,
DWORD* pdwAlpha);
Parametreler
cx
Bit eşlem genişliğini ve yüksekliğini belirtir.
phbmp
İşlev başarıyla döndürdüğünde bit eşlem tutamacını içerir.
pdwAlpha
İşlev başarıyla döndürdüğünde alfa kanalı değerini belirten bir DWORD
içerir.
Dönüş Değeri
Küçük resim için bir bit eşlem başarıyla oluşturulduysa, aksi takdirde FALSE
döndürürTRUE
.
Açıklamalar
CDocument::GetTitle
Genellikle belgenin dosya adından türetilen belgenin başlığını almak için bu işlevi çağırın.
const CString& GetTitle() const;
Dönüş Değeri
Belgenin başlığı.
CDocument::InitializeSearchContent
Arama İşleyicisi için arama içeriğini başlatmak için çağrıldı.
virtual void InitializeSearchContent ();
Açıklamalar
Arama içeriğini başlatmak için türetilmiş bir sınıfta bu yöntemi geçersiz kılın. İçerik, ";" ile ayrılmış bölümleri olan bir dize olmalıdır. Örneğin, "nokta; dikdörtgen; ole öğesi".
CDocument::IsModified
Belgenin son kaydedildiğinden beri değiştirilip değiştirilmediğini belirlemek için bu işlevi çağırın.
virtual BOOL IsModified();
Dönüş Değeri
Belge son kaydedildiğinden bu yana değiştirilmişse sıfır olmayan; aksi takdirde 0.
CDocument::IsSearchAndOrganizeHandler
Bu örneğinin CDocument
Arama ve Düzenleme işleyicisi için oluşturulup oluşturulmadığını bildirir.
BOOL IsSearchAndOrganizeHandler() const;
Dönüş Değeri
Arama ve Düzenleme işleyicisi CDocument
için bu örneği oluşturulduysa döndürürTRUE
.
Açıklamalar
Şu anda bu işlev yalnızca işlem dışı bir sunucuda uygulanan Zengin Önizleme işleyicileri için döndürür TRUE
. Bu işlevin döndürmesini TRUE
sağlamak için uygulama düzeyinizde uygun bayrakları (m_bPreviewHandlerMode
, m_bSearchMode
, m_bGetThumbnailMode
) ayarlayabilirsiniz.
CDocument::LoadDocumentFromStream
Bir akıştan belge verilerini yüklemek için çağrılır.
virtual HRESULT LoadDocumentFromStream(
IStream* pStream,
DWORD dwGrfMode);
Parametreler
pStream
Akış işaretçisi. Bu akış Shell tarafından sağlanır.
dwGrfMode
Akışa erişim modu.
Dönüş Değeri
S_OK
yükleme işlemi başarılı olursa, aksi takdirde HRESULT
bir hata koduyla.
Açıklamalar
Akıştan veri yüklemeyi özelleştirmek için türetilmiş bir sınıfta bu yöntemi geçersiz kılabilirsiniz.
CDocument::m_bGetThumbnailMode
Nesnenin CDocument
küçük resimler için dllhost tarafından oluşturulduğunu belirtir. içinde CView::OnDraw
iade edilmelidir.
BOOL m_bGetThumbnailMode;
Açıklamalar
TRUE
, belgenin dllhost tarafından küçük resimler için oluşturulduğunu gösterir.
CDocument::m_bPreviewHandlerMode
Nesnenin CDocument
Zengin Önizleme için prevhost tarafından oluşturulduğunu belirtir. içinde CView::OnDraw
iade edilmelidir.
BOOL m_bPreviewHandlerMode;
Açıklamalar
TRUE
belgenin Zengin Önizleme için prevhost tarafından oluşturulduğunu gösterir.
CDocument::m_bSearchMode
Nesnesinin CDocument
dizin oluşturucu veya başka bir arama uygulaması tarafından oluşturulduğunu belirtir.
BOOL m_bSearchMode;
Açıklamalar
TRUE
belgenin dizin oluşturucu veya başka bir arama uygulaması tarafından oluşturulduğunu gösterir.
CDocument::m_clrRichPreviewBackColor
Zengin Önizleme penceresinin arka plan rengini belirtir. Bu renk konak tarafından ayarlanır.
COLORREF m_clrRichPreviewBackColor;
Açıklamalar
CDocument::m_clrRichPreviewTextColor
Zengin Önizleme penceresinin ön plan rengini belirtir. Bu renk konak tarafından ayarlanır.
COLORREF m_clrRichPreviewTextColor;
Açıklamalar
CDocument::m_lfRichPreviewFont
Zengin Önizleme penceresi için metin yazı tipini belirtir. Bu yazı tipi bilgileri konak tarafından ayarlanır.
CFont m_lfRichPreviewFont;
Açıklamalar
CDocument::OnBeforeRichPreviewFontChanged
Zengin Önizleme yazı tipi değiştirilmeden önce çağrılır.
virtual void OnBeforeRichPreviewFontChanged();
Açıklamalar
CDocument::OnChangedViewList
Görünüm belgeye eklendikten veya belgeden kaldırıldıktan sonra çerçeve tarafından çağrılır.
virtual void OnChangedViewList();
Açıklamalar
Bu işlevin varsayılan uygulaması, son görünümün kaldırılıp kaldırılmadığını denetler ve kaldırılıyorsa belgeyi siler. Çerçeve bir görünüm ekler veya kaldırırken özel işlem gerçekleştirmek istiyorsanız bu işlevi geçersiz kılın. Örneğin, ekli görünümler olmasa bile belgenin açık kalmasını istiyorsanız, bu işlevi geçersiz kılın.
CDocument::OnCloseDocument
Belge kapatıldığında çerçeve tarafından çağrılır, genellikle Dosya Kapat komutunun bir parçası olarak.
virtual void OnCloseDocument();
Açıklamalar
Bu işlevin varsayılan uygulaması, belgeyi görüntülemek için kullanılan tüm çerçeveleri yok eder, görünümü kapatır, belgenin içeriğini temizler ve ardından üye işlevini çağırarak DeleteContents
belgenin verilerini siler.
Çerçeve bir belgeyi kapattığında özel temizleme işlemi gerçekleştirmek istiyorsanız bu işlevi geçersiz kılın. Örneğin, belge veritabanındaki bir kaydı temsil ediyorsa, veritabanını kapatmak için bu işlevi geçersiz kılmak isteyebilirsiniz. Geçersiz kılmanızdan bu işlevin temel sınıf sürümünü çağırmanız gerekir.
CDocument::OnCreatePreviewFrame
Zengin Önizleme için bir önizleme çerçevesi oluşturması gerektiğinde çerçeve tarafından çağrılır.
virtual BOOL OnCreatePreviewFrame();
Dönüş Değeri
Çerçeve başarıyla oluşturulursa döndürür TRUE
; aksi takdirde FALSE
döndürür.
Açıklamalar
CDocument::OnDocumentEvent
Bir belge olayına yanıt olarak çerçeve tarafından çağrılır.
virtual void OnDocumentEvent(DocumentEvent deEvent);
Parametreler
deEvent
[in] Olay türünü açıklayan numaralandırılmış veri türü.
Açıklamalar
Belge olayları birden çok sınıfı etkileyebilir. Bu yöntem, Sınıfı dışındaki sınıfları etkileyen belge olaylarını işlemekten CDocument
sorumludur. Şu anda belge olaylarına yanıt vermesi gereken tek sınıf SınıfıdırCDataRecoveryHandler
. sınıfı, CDocument
üzerindeki etkiyi işlemeden sorumlu başka geçersiz kılınabilir yöntemlere CDocument
sahiptir.
Aşağıdaki tabloda, olası değerleri deEvent
ve karşılık gelen olayları listelemektedir.
Değer | İlgili Olay |
---|---|
onAfterNewDocument |
Yeni bir belge oluşturuldu. |
onAfterOpenDocument |
Yeni bir belge açıldı. |
onAfterSaveDocument |
Belge kaydedildi. |
onAfterCloseDocument |
Belge kapatıldı. |
CDocument::OnDrawThumbnail
Küçük resmi çizmek için türetilmiş bir sınıfta bu yöntemi geçersiz kılın.
virtual void OnDrawThumbnail(
CDC& dc,
LPRECT lprcBounds);
Parametreler
dc
Cihaz bağlamı başvurusu.
lprcBounds
Küçük resmin çizilmesi gereken alanın sınırlayıcı dikdörtgenini belirtir.
Açıklamalar
CDocument::OnFileSendMail
Yerleşik posta konağı (varsa) aracılığıyla belgeyi ek olarak içeren bir ileti gönderir.
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.
bileşik dosyaları doğru şekilde işlemek için COleDocument
özel bir uygulamasıOnFileSendMail
.
CDocument
, posta desteği (MAPI) varsa belgenizi posta yoluyla göndermeyi destekler. MFC'de MAPI Konuları ve MAPI Desteği makalelerine bakın.
CDocument::OnLoadDocumentFromStream
Bir akıştan belge verilerini yüklemesi gerektiğinde çerçeve tarafından çağrılır.
virtual HRESULT OnLoadDocumentFromStream(
IStream* pStream,
DWORD grfMode);
Parametreler
pStream
Gelen akışın işaretçisi.
grfMode
Akışa erişim modu.
Dönüş Değeri
S_OK
yük başarılı olursa; aksi takdirde bir hata kodu.
Açıklamalar
CDocument::OnNewDocument
Çerçeve tarafından Dosya Yeni komutunun bir parçası olarak çağrılır.
virtual BOOL OnNewDocument();
Dönüş Değeri
Belge başarıyla başlatıldıysa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Bu işlevin varsayılan uygulaması, belgenin DeleteContents
boş olduğundan emin olmak için üye işlevini çağırır ve yeni belgeyi temiz olarak işaretler. Yeni bir belgenin veri yapısını başlatmak için bu işlevi geçersiz kılın. Geçersiz kılmanızdan bu işlevin temel sınıf sürümünü çağırmanız gerekir.
Kullanıcı bir SDI uygulamasında Yeni Dosya komutunu seçerse, çerçeve yeni bir belge oluşturmak yerine var olan belgeyi yeniden başlatmak için bu işlevi kullanır. Kullanıcı birden çok belge arabirimi (MDI) uygulamasında Dosya Yeni'yi seçerse, çerçeve her seferinde yeni bir belge oluşturur ve ardından başlatmak için bu işlevi çağırır. Başlatma kodunuzu, Dosya Yeni komutunun SDI uygulamalarında etkili olması için oluşturucu yerine bu işleve yerleştirmeniz gerekir.
İki kez çağrılan OnNewDocument
durumlar olduğunu unutmayın. Bu, belge bir ActiveX Belge Sunucusu olarak eklendiğinde oluşur. İşlev ilk olarak yöntemi ( CreateInstance
türetilmiş sınıf tarafından COleObjectFactory
kullanıma sunulur) ve ikinci kez yöntemi tarafından çağrılır InitNew
(türetilmiş sınıf tarafından COleServerDoc
kullanıma sunulur).
Örnek
Aşağıdaki örneklerde, belge nesnesini başlatmaya yönelik alternatif yöntemler gösterilmektedir.
// Method 1: In an MDI application, the simplest place to do
// initialization is in the document constructor. The framework
// always creates a new document object for File New or File Open.
CExampleDoc::CExampleDoc()
{
// Do initialization of MDI document here.
}
// Method 2: In an SDI or MDI application, do all initialization
// in an override of OnNewDocument, if you are certain that
// the initialization is effectively saved upon File Save
// and fully restored upon File Open, via serialization.
BOOL CMyDoc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
{
return FALSE;
}
// Do initialization of new document here.
return TRUE;
}
// Method 3: If the initialization of your document is not
// effectively saved and restored by serialization (during File Save
// and File Open), then implement the initialization in single
// function (named InitMyDocument in this example). Call the
// shared initialization function from overrides of both
// OnNewDocument and OnOpenDocument.
BOOL CExampleDoc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
{
return FALSE;
}
InitMyDocument(); // call your shared initialization function
// If your new document object requires additional initialization
// not necessary when the document is deserialized via File Open,
// then perform that additional initialization here.
return TRUE;
}
CDocument::OnOpenDocument
Dosya Aç komutunun bir parçası olarak çerçeve tarafından çağrılır.
virtual BOOL OnOpenDocument(LPCTSTR lpszPathName);
Parametreler
lpszPathName
Açılacak belgenin yolunu gösterir.
Dönüş Değeri
Belge başarıyla yüklendiyse sıfır olmayan; aksi takdirde 0.
Açıklamalar
Bu işlevin varsayılan uygulaması belirtilen dosyayı açar, belgenin DeleteContents
boş olduğundan emin olmak için üye işlevini çağırır, dosyanın içeriğini okumak için çağırır CObject::Serialize
ve belgeyi temiz olarak işaretler. Arşiv mekanizması veya dosya mekanizması dışında bir şey kullanmak istiyorsanız bu işlevi geçersiz kılın. Örneğin, belgelerin ayrı dosyalar yerine veritabanındaki kayıtları temsil ettiği bir uygulama yazabilirsiniz.
Kullanıcı bir SDI uygulamasında Dosya Aç komutunu seçerse, çerçeve yeni bir nesne oluşturmak yerine mevcut CDocument
nesneyi yeniden başlatmak için bu işlevi kullanır. Kullanıcı bir MDI uygulamasında Dosya Aç'ı seçerse, çerçeve her seferinde yeni CDocument
bir nesne oluşturur ve ardından başlatmak için bu işlevi çağırır. Başlatma kodunuzu, Dosya Aç komutunun SDI uygulamalarında etkili olması için oluşturucu yerine bu işleve yerleştirmeniz gerekir.
Örnek
Aşağıdaki örneklerde, belge nesnesini başlatmaya yönelik alternatif yöntemler gösterilmektedir.
// Method 1: In an MDI application, the simplest place to do
// initialization is in the document constructor. The framework
// always creates a new document object for File New or File Open.
CExampleDoc::CExampleDoc()
{
// Do initialization of MDI document here.
}
// Method 2: In an SDI or MDI application, do all initialization
// in an override of OnNewDocument, if you are certain that
// the initialization is effectively saved upon File Save
// and fully restored upon File Open, via serialization.
BOOL CMyDoc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
{
return FALSE;
}
// Do initialization of new document here.
return TRUE;
}
// Method 3: If the initialization of your document is not
// effectively saved and restored by serialization (during File Save
// and File Open), then implement the initialization in single
// function (named InitMyDocument in this example). Call the
// shared initialization function from overrides of both
// OnNewDocument and OnOpenDocument.
BOOL CExampleDoc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
{
return FALSE;
}
InitMyDocument(); // call your shared initialization function
// If your new document object requires additional initialization
// not necessary when the document is deserialized via File Open,
// then perform that additional initialization here.
return TRUE;
}
// Additional example of OnOpenDocument()
BOOL CExampleDoc::OnOpenDocument(LPCTSTR lpszPathName)
{
if (!CDocument::OnOpenDocument(lpszPathName))
{
return FALSE;
}
InitMyDocument(); // call your shared initialization function
return TRUE;
}
CDocument::OnPreviewHandlerQueryFocus
önizleme işleyicisini işlevi çağırarak alınanı HWND
döndürmeye GetFocus
yönlendirir.
virtual HRESULT OnPreviewHandlerQueryFocus(HWND* phwnd);
Parametreler
phwnd
[out] Bu yöntem döndürdüğünde, önizleme işleyicisinin ön plan iş parçacığından işlevi çağırmaktan GetFocus
döndürülen HWND işaretçisini içerir.
Dönüş Değeri
Başarılı olursa veya aksi takdirde bir hata değeri döndürür S_OK
.
Açıklamalar
CDocument::OnPreviewHandlerTranslateAccelerator
Önizleme işleyicisini, önizleme işleyicisinin çalıştığı işlemin ileti pompasından geçirilen bir tuş vuruşunu işlemeye yönlendirir.
virtual HRESULT OnPreviewHandlerTranslateAccelerator(MSG* pmsg);
Parametreler
pmsg
[in] Pencere iletisinin işaretçisi.
Dönüş Değeri
Tuş vuruşu iletisi önizleme işleyicisi tarafından işlenebiliyorsa, işleyici bunu işler ve döndürür S_OK
. Önizleme işleyicisi tuş vuruşu iletisini işleyemiyorsa, bunu aracılığıyla IPreviewHandlerFrame::TranslateAccelerator
konağa sunar. Konak iletiyi işlerse, bu yöntem döndürür S_OK
. Konak iletiyi işlemezse, bu yöntem döndürür S_FALSE
.
Açıklamalar
CDocument::OnRichPreviewBackColorChanged
Zengin Önizleme arka plan rengi değiştiğinde çağrılır.
virtual void OnRichPreviewBackColorChanged();
Açıklamalar
CDocument::OnRichPreviewFontChanged
Zengin Önizleme yazı tipi değiştiğinde çağrılır.
virtual void OnRichPreviewFontChanged();
Açıklamalar
CDocument::OnRichPreviewSiteChanged
Zengin Önizleme sitesi değiştiğinde çağrılır.
virtual void OnRichPreviewSiteChanged();
Açıklamalar
CDocument::OnRichPreviewTextColorChanged
Zengin Önizleme metin rengi değiştiğinde çağrılır.
virtual void OnRichPreviewTextColorChanged();
Açıklamalar
CDocument::OnSaveDocument
Çerçeve tarafından Dosya Kaydet veya Dosya Farklı Kaydet komutunun bir parçası olarak çağrılır.
virtual BOOL OnSaveDocument(LPCTSTR lpszPathName);
Parametreler
lpszPathName
Dosyanın kaydedilmesi gereken tam yolu gösterir.
Dönüş Değeri
Belge başarıyla kaydedildiyse sıfır olmayan; aksi takdirde 0.
Açıklamalar
Bu işlevin varsayılan uygulaması belirtilen dosyayı açar, belgenin verilerini dosyaya yazmak için çağırır CObject::Serialize
ve belgeyi temiz olarak işaretler. Çerçeve bir belgeyi kaydettiğinde özel işlem gerçekleştirmek istiyorsanız bu işlevi geçersiz kılın. Örneğin, belgelerin ayrı dosyalar yerine veritabanındaki kayıtları temsil ettiği bir uygulama yazabilirsiniz.
CDocument::OnUnloadHandler
Önizleme işleyicisi kaldırıldığında çerçeve tarafından çağrılır.
virtual void OnUnloadHandler();
Açıklamalar
CDocument::OnUpdateFileSendMail
ID_FILE_SEND_MAIL
Posta desteği (MAPI) varsa komutu etkinleştirir.
void OnUpdateFileSendMail(CCmdUI* pCmdUI);
Parametreler
pCmdUI
komutuyla ilişkilendirilmiş nesnenin işaretçisi CCmdUI
ID_FILE_SEND_MAIL
.
Açıklamalar
Aksi takdirde işlev, menü öğesinin ID_FILE_SEND_MAIL
üzerindeki veya altındaki ayırıcılar da dahil olmak üzere komutu menüden kaldırır. MAPI, dosyanın [Posta] bölümünde WIN.INI
mapi=1 yolunda varsa MAPI32.DLL
etkinleştirilir. Çoğu uygulama bu komutu Dosya menüsüne koyar.
CDocument
, posta desteği (MAPI) varsa belgenizi posta yoluyla göndermeyi destekler. MFC'de MAPI Konuları ve MAPI Desteği makalelerine bakın.
CDocument::PreCloseFrame
Çerçeve penceresi yok edilmeden önce bu üye işlevi çerçeve tarafından çağrılır.
virtual void PreCloseFrame(CFrameWnd* pFrame);
Parametreler
pFrame
İlişkili CFrameWnd
CDocument
nesneyi tutan işaretçi.
Açıklamalar
Özel temizleme sağlamak için geçersiz kılınabilir, ancak temel sınıfı da çağırın.
varsayılan değeri PreCloseFrame
içinde CDocument
hiçbir şey yapmaz. CDocument
Türetilmiş sınıflar COleDocument
ve CRichEditDoc
bu üye işlevini kullanın.
CDocument::ReadNextChunkValue
Sonraki öbek değerini okur.
virtual BOOL ReadNextChunkValue(IFilterChunkValue** ppValue);
Parametreler
ppValue
[out] İşlev döndürdüğünde, ppValue
okunan değeri içerir.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
CDocument::ReleaseFile
Bu üye işlevi, bir dosyayı serbest bırakmak için çerçeve tarafından çağrılır ve diğer uygulamalar tarafından kullanılabilir hale getirir.
virtual void ReleaseFile(
CFile* pFile,
BOOL bAbort);
Parametreler
pFile
Serbest bırakılacak nesnenin CFile
işaretçisi.
bAbort
Dosyanın ya da CFile::Close
CFile::Abort
kullanılarak yayımlanıp yayımlanmayacağını belirtir. FALSE
dosyası kullanılarak CFile::Close
yayınlanacaksa; TRUE
kullanılarak yayımlanacaksa CFile::Abort
.
Açıklamalar
ise bAbort
TRUE
, ReleaseFile
öğesini çağırır CFile::Abort
ve dosya serbest bırakılır. CFile::Abort
özel durum oluşturmaz.
ise bAbort
FALSE
, ReleaseFile
çağrılar CFile::Close
ve dosya serbest bırakılır.
Bu üye işlevini, dosya yayımlanmadan önce kullanıcı tarafından bir eylem gerektirecek şekilde geçersiz kılın.
CDocument::RemoveChunk
Belirtilen GUID
ile bir öbek kaldırır.
virtual void RemoveChunk(
REFCLSID guid,
DWORD pid);
Parametreler
Guid
GUID
Kaldırılacak öbek sayısını belirtir.
Pid
PID
Kaldırılacak öbek sayısını belirtir.
Açıklamalar
CDocument::RemoveView
Belgeden görünüm ayırmak için bu işlevi çağır.
void RemoveView(CView* pView);
Parametreler
pView
Kaldırılmakta olan görünümü gösterir.
Açıklamalar
Bu işlev, belirtilen görünümü belgeyle ilişkilendirilmiş görünümler listesinden kaldırır; ayrıca görünümün belge işaretçisini olarak NULL
ayarlar. Çerçeve penceresi kapatıldığında veya bölücü penceresinin bölmesi kapatıldığında bu işlev çerçeve tarafından çağrılır.
Bu işlevi yalnızca bir görünümü el ile ayırıyorsanız çağırabilirsiniz. Genellikle çerçevenin belge sınıfını ilişkilendirmek, sınıfını ve çerçeve penceresi sınıfını ilişkilendirmek için bir CDocTemplate
nesne tanımlayarak belgeleri ve görünümleri ayırmasına izin verirsiniz.
Örnek uygulama için adresine AddView
bakın.
CDocument::ReportSaveLoadException
Belge kaydedilirken veya yüklenirken bir özel durum oluşursa (genellikle veya CFileException
CArchiveException
) çağrılır.
virtual void ReportSaveLoadException(
LPCTSTR lpszPathName,
CException* e,
BOOL bSaving,
UINT nIDPDefault);
Parametreler
lpszPathName
Kaydedilen veya yüklenen belgenin adını gösterir.
e
Oluşan özel duruma işaret eden. olabilir NULL
.
bSaving
Devam eden işlemi gösteren bayrak; belge kaydediliyorsa sıfır olmayan, belge yükleniyorsa 0.
nIDPDefault
İşlev daha belirli bir değer belirtmiyorsa görüntülenecek hata iletisinin tanımlayıcısı.
Açıklamalar
Varsayılan uygulama özel durum nesnesini inceler ve nedenini özel olarak açıklayan bir hata iletisi arar. Belirli bir ileti bulunamazsa veya ise e
NULL
parametresi tarafından nIDPDefault
belirtilen genel ileti kullanılır. İşlev daha sonra hata iletisini içeren bir ileti kutusu görüntüler. Ek, özelleştirilmiş hata iletileri sağlamak istiyorsanız bu işlevi geçersiz kılın. Bu, gelişmiş bir geçersiz kılınabilir.
CDocument::SaveModified
Değiştirilen bir belge kapatılmadan önce çerçeve tarafından çağrılır.
virtual BOOL SaveModified();
Dönüş Değeri
Devam etmek ve belgeyi kapatmak güvenliyse sıfır olmayan; Belgenin kapatılmaması gerekiyorsa 0.
Açıklamalar
Bu işlevin varsayılan uygulaması, kullanıcıdan belgede yapılan değişiklikleri kaydedip kaydetmediğini soran bir ileti kutusu görüntüler. Programınız farklı bir istem yordamı gerektiriyorsa bu işlevi geçersiz kılın. Bu, gelişmiş bir geçersiz kılınabilir.
CDocument::SetChunkValue
Bir öbek değeri ayarlar.
virtual BOOL SetChunkValue (IFilterChunkValue* pValue);
Parametreler
pValue
Ayarlanacağı öbek değerini belirtir.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
CDocument::SetModifiedFlag
Belgede herhangi bir değişiklik yaptıktan sonra bu işlevi çağırın.
virtual void SetModifiedFlag(BOOL bModified = TRUE);
Parametreler
bModified
Belgenin değiştirilip değiştirilmediğini gösteren bayrak.
Açıklamalar
Bu işlevi tutarlı bir şekilde çağırarak, çerçevenin belgeyi kapatmadan önce kullanıcıdan değişiklikleri kaydetmesini istemesini sağlarsınız. Genellikle parametresi için bModified
varsayılan değerini TRUE
kullanmanız gerekir. Belgeyi temiz (değiştirilmemiş) olarak işaretlemek için bu işlevi değeriyle çağırın FALSE
.
CDocument::SetPathName
Belgenin disk dosyasının tam yolunu belirtmek için bu işlevi çağırın.
virtual void SetPathName(
LPCTSTR lpszPathName,
BOOL bAddToMRU = TRUE);
Parametreler
lpszPathName
Belgenin yolu olarak kullanılacak dizeyi gösterir.
bAddToMRU
Dosya adının en son kullanılan (MRU) dosya listesine eklenip eklenmeyeceğini belirler. ise TRUE
, dosya adı eklenir; eklenirse FALSE
eklenmez.
Açıklamalar
Uygulamanın koruduğu MRU listesine yolun değerine bAddToMRU
bağlı olarak eklenir veya eklenmez. Bazı belgelerin disk dosyasıyla ilişkilendirilmediğini unutmayın. Bu işlevi yalnızca çerçeve tarafından kullanılan dosyaları açmak ve kaydetmek için varsayılan uygulamayı geçersiz kıldığınızda çağırın.
CDocument::SetTitle
Belgenin başlığını (çerçeve penceresinin başlık çubuğunda görüntülenen dize) belirtmek için bu işlevi çağırın.
virtual void SetTitle(LPCTSTR lpszTitle);
Parametreler
lpszTitle
Belgenin başlığı olarak kullanılacak dizeyi gösterir.
Açıklamalar
Bu işlevin çağrılması, belgeyi görüntüleyen tüm çerçeve pencerelerinin başlıklarını güncelleştirir.
CDocument::UpdateAllViews
Belge değiştirildikten sonra bu işlevi çağırın.
void UpdateAllViews(
CView* pSender,
LPARAM lHint = 0L,
CObject* pHint = NULL);
Parametreler
pSender
Belgeyi değiştiren görünümü veya NULL
tüm görünümlerin güncelleştirilip güncelleştirilmediğini gösterir.
lHint
Değişiklik hakkında bilgi içerir.
pHint
Değişiklikle ilgili bilgileri depolayarak bir nesneye işaret edin.
Açıklamalar
Üye işlevini çağırdıktan sonra bu işlevi çağırmalısınız SetModifiedFlag
. Bu işlev, tarafından pSender
belirtilen görünüm dışında belgeye eklenen her görünümü, belgenin değiştirildiğini bildirir. Bu işlevi genellikle kullanıcı belgeyi bir görünüm aracılığıyla değiştirdikten sonra görünüm sınıfınızdan çağırırsınız.
Bu işlev, gönderen görünüm, geçirme pHint
ve lHint
dışındaki belge görünümlerinin her biri için üye işlevini çağırırCView::OnUpdate
. Belgede yapılan değişikliklerle ilgili bilgileri görünümlere geçirmek için bu parametreleri kullanın. ve/veya kullanarak lHint
bilgileri kodlayabilir veya değişiklikler hakkındaki bilgileri depolamak ve kullanarak pHint
bu sınıfın bir nesnesini geçirmek için türetilmiş bir sınıf tanımlayabilirsinizCObject
. Geçirilen bilgilere göre görünümün CView::OnUpdate
görünümünün güncelleştirilmesini iyileştirmek için türetilmiş sınıfınızdaki CView
üye işlevini geçersiz kılın.
Örnek
void CExampleDoc::OnUpdateAllViews()
{
UpdateAllViews(NULL);
}
Ayrıca bkz.
MFC Örneği MDIDOCVW
MFC Örneği SNAPVW
MFC Örneği NPP
CCmdTarget
Sınıf
Hiyerarşi Grafiği
CCmdTarget
Sınıf
CView
Sınıf
CDocTemplate
Sınıf