CDocument::OnNewDocument

wirtualne BOOL OnNewDocument ( );

Wartość zwracany

Niezerowa, jeśli dokument został pomyślnie zainicjowany; inny sposób 0.

Uwagi

Wywoływany przez ram jako część pliku nowe polecenie. Domyślna implementacja tej funkcji wywołuje funkcję Państwa DeleteContents do zapewnienia, że dokument jest pusty, a następnie oznacza nowy dokument jako czyste. Zastąpić tę funkcję zainicjować struktury danych dla nowego dokumentu. Klasa podstawowa wersja ta funkcja powinna wywołać z Twojego zastępowania.

Jeżeli użytkownik wybierze polecenie Nowy plik w aplikacji SDI, ramy używa tej funkcji zainicjować istniejący dokument, zamiast tworzenia nowej. Jeśli użytkownik zdecyduje się na nowy plik w wielu aplikacji interfejsu (MDI) dokumentu, ramy tworzy nowy dokument, za każdym razem, a następnie wywołuje tę funkcję do go zainicjować. Kod inicjowania musi umieścić w tej funkcji zamiast konstruktora dla pliku nowe polecenie się być skuteczne w aplikacjach SDI.

Przykład

/ / Poniższe przykłady ilustrują alternatywnych metod
/ / Inicjowanie obiektu dokumentu.

/ / Metoda 1: W aplikacji MDI, najprostszą miejsce do / / inicjowania jest w constructor.nbsp dokumencie; Ram / / zawsze tworzy nowy obiekt dokumentu dla nowych plików lub plików otwartych.

CMyDoc::CMyDoc()
{
   / / Do inicjowania dokumentu MDI tutaj.
   // ...
}

/ / Metoda 2: W aplikacji SDI lub MDI, czy wszystkie inicjowania / / in nadpisanie On&NewDocument, jeśli pewne, czy
/ / Inicjowanie skutecznie jest zapisywana na zapisywanie pliku
/ / i pełni przywrócone po otwarciu pliku za pomocą serializacji.

BOOL CMyDoc::OnNewDocument()
{
   if (!.CDocument::OnNewDocument())
      return FALSE;

/ / Do inicjowania nowy dokument w tym miejscu.

Zwraca wartość PRAWDA;
}

/ / Metoda 3: Jeśli inicjalizacja dokumentu nie jest
/ / skutecznie zapisywane i przywrócony przez serializacji (podczas zapisywania plików
/ / i otwieranie pliku), następnie implementuj inicjowania w pojedynczym
/ / function (o nazwie InitMyDocument w tym przykładzie).  Zadzwonić
/ / dzielone inicjowanie funkcji przesłonięcia zarówno
/ / OnNewDocument i OnOpenDocument.

BOOL CMyDoc::OnNewDocument()
{
   if (!.CDocument::OnNewDocument())
      return FALSE;

InitMyDocument(); / / wywołania funkcji udostępnionych inicjowania

/ / Jeżeli nowy obiekt dokument wymaga dodatkowych inicjowania
   / / nie jest konieczne, gdy dokument jest rozszeregować za pośrednictwem otwieranie pliku,
   / / wykonać tego dodatkowego inicjowania tutaj.

Zwraca wartość PRAWDA;
}

Omówienie CDocument |nbsp; Klasa członków | Wykres hierarchii

Zobacz też CDocument::CDocument, CDocument::DeleteContents, CDocument::OnCloseDocument, CDocument::OnOpenDocument, CDocument::OnSaveDocument

Index