CDocument::OnNewDocument

virtual BOOL OnNewDocument ( );

Valor devuelto

Distinto de cero si el documento se ha inicializado correctamente; caso contrario 0.

Observaciones

Llamado por el marco como parte del comando nuevo archivo. La implementación predeterminada de esta función llama a la función de miembro de DeleteContents para garantizar que el documento está vacío y, a continuación, marca el nuevo documento como limpio. Reemplazar esta función para inicializar la estructura de datos para un nuevo documento. Debe llamar a la versión de la clase base de esta función desde su anulación.

Si el usuario elige el comando nuevo archivo en una aplicación SDI, el marco utiliza esta función para reinicializar el documento existente, en lugar de crear uno nuevo. Si el usuario elige nuevo archivo en una aplicación MDI (interfaz) de documentos múltiples, el marco cada vez que crea un documento nuevo y, a continuación, llama a esta función para inicializarlo. Debe colocar el código de inicialización en esta función en lugar de en el constructor para el comando nuevo archivo para ser eficaces en aplicaciones SDI.

Ejemplo

/ / En los ejemplos siguientes ilustran métodos alternativos de
/ / inicializar un objeto document.

/ / Método 1: en una aplicación MDI, el lugar más simple para hacer / / inicialización es en el documento constructor.nbsp; El marco / / siempre crea un nuevo objeto de documento de archivo nuevo o abrir archivo.

CMyDoc::CMyDoc()
{
   / / Do inicialización de documento MDI aquí.
   // ...
}

/ / Método 2: en una aplicación SDI o MDI, realiza la inicialización de todos y en una anulación de On&NewDocument, si no está seguro de que
/ / la inicialización efectivamente se guarda al guardar archivo
/ / y totalmente restaurada al archivo abierto, a través de la serialización.

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

/ / Do inicialización del nuevo documento aquí.

Devuelve TRUE;
}

/ / Método 3: si no se encuentra la inicialización del documento
/ / efectivamente guardado y restaurado por serialización (durante Guardar archivo
/ / y abrir archivo), a continuación, aplicar la inicialización en solo
/ / función (llamado InitMyDocument en este ejemplo).  Llame a la
/ / comparte la función de inicialización de anulaciones de ambos
/ / OnNewDocument y OnOpenDocument.

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

InitMyDocument(); / / llamar a la función de inicialización compartida

Y si el nuevo objeto de documento requiere inicialización adicional
   / / no es necesario cuando se deserializa el documento a través de archivo abierto,
   / y, a continuación, realizar la inicialización adicional aquí.

Devuelve TRUE;
}

Visión General de CDocument |nbsp; Miembros de clase | Diagrama de jerarquía

Vea tambié&nnbsp;CDocument::CDocument, CDocument::DeleteContents, CDocument::OnCloseDocument, CDocument::OnOpenDocument, CDocument::OnSaveDocument

Index