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