CDocument::OnNewDocument

sanal bool OnNewDocument ( );

Dönüş değeri

Belge başarıyla başlatıldı, sıfır olmayan; Aksi halde 0.

Açıklamalar

Dosya yeni komutun bir parçası olarak çerçeve tarafından çağrılan. Bu işlevi varsayılan uygulama belge boş ve temiz olarak yeni belge işaretler sağlamak için DeleteContents üye işlevini çağırır. Yeni bir belge için veri yapısı başlatılamıyor bu işlevi geçersiz. Bu işlevi temel sınıf sürümü, OVERRIDE--dan aramak gerekir.

Kullanıcı bir SDI uygulamasında dosya yeni komutu seçerse, çerçeve yenisini oluşturmak yerine, varolan bir belgeyi yeniden başlatmak için bu işlevini kullanır. Kullanıcı dosyayı yeni bir çoklu belge arabirim (MDI) uygulaması seçerse, çerçeve her zaman yeni bir belge oluşturur ve sonra başlatmak üzere bu işlevini çağırır. Bu işlevi yerine SDI uygulamalarında etkili olduğu dosya yeni komut Oluşturucu başlatma kodu koymanız gerekir.

Örnek

/ / Alternatif yöntemler aşağıdaki örneklerde gösterilmektedir
/ / bir belge nesnesi başlatılıyor.

/ / Yöntem 1: yapmak için basit bir yerde bir MDI uygulamada / / başlatma belge constructor.nbsp içinde; Çerçeve / / dosyayı yeni veya dosya açık için her zaman yeni bir belge nesnesi oluşturur.

CMyDoc::CMyDoc()
{
   / / MDI belge burada başlatma işlemi yapın.
   // ...
}

/ / Yöntem 2: tüm başlatma bir SDI veya MDI uygulaması yapmak / / On&NewDocument emin iseniz, geçersiz kılma
/ / başlatma etkin dosyayı kaydetmek kaydedilir
/ / ve tam olarak geri yüklenen dosya Aç, üzerine üzerinden seri hale getirme.

bool CMyDoc::OnNewDocument()
{
   if (!.CDocument::OnNewDocument())
      return false;

/ / Burada yeni bir belge başlatma işlemi yapın.

true döndürür;
}

/ / Yöntem 3: belge başlatma değilse
/ / etkili kaydedilir ve geri tarafından seri hale getirme (sırasında dosyayı kaydedin
/ / ve Dosya Aç), sonra başlatma tek uygulanması
/ / function (Bu örnekte InitMyDocument adında).  Çağrı
/ / her ikisini de geçersiz kılmaları başlatılması işlevinden paylaşılan
/ / OnNewDocument ve OnOpenDocument.

bool CMyDoc::OnNewDocument()
{
   if (!.CDocument::OnNewDocument())
      return false;

InitMyDocument(); / / Paylaşılan başlatma işlevi arama

/ / Yeni belge nesnesi ek başlatma gerektiriyorsa
   / / Belge açık dosya serisi zaman gerekli değildir
   / / Bu ek başlatma gerçekleştirmek.

true döndürür;
}

CDocument genel bakış |nbsp; Sınıf üyeleri | Hiyerarşi çizelgesi

Ayrıca bkz: CDocument::CDocument, CDocument::DeleteContents, CDocument::OnCloseDocument, CDocument::OnOpenDocument, CDocument::OnSaveDocument

Index