C/Visual C - Caja de dialogo modal

 
Vista:

Caja de dialogo modal

Publicado por Ipin (11 intervenciones) el 17/08/2005 18:26:03
Buenas!!

Tengo 1 problema enoorme, a ver si alguno puede ayudarme. Tengo implementadas funciones para que,al cerrar 1 archivo,varios a la vez o al salir del programa principal aparezca 1 caja de diálogo pidiendo al usuario si desea guardar cambios.

Hasta ayer mismo funcionaba perfectamente,pero hoy no consigo que salga la caja.Simplemente se cierra el archivo,sin dar opción a guardar.

Estoy desesperada porque es mi proyecto fin de carrera y estoy a puntito de terminarlo.No tengo ni idea de por qué me pasa....ni siquiera funciona la copia de seguridad que tenía.

Por favor,si alguien puede orientarme que me escriba a mi correo y les paso 1 copia del código o que pongan aqui en el foro alguna idea

Gracias.Salu2
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Caja de dialogo modal

Publicado por Ipin (11 intervenciones) el 17/08/2005 18:52:49
Lo siento,olvidé aclarar que el programa está hecho en Microsoft Visual C++

Y aquí os pongo el código de una de las funciones que ahora no me sirven.Corresponde a la opción de menú "Cerrar todas las ventanas"...para cualquier cosa me mandan 1 correo.

Muchas gracias.Salu2

**************************************************************************

void CDemoApp ::OnWindowCloseall()
{
DlgClose dlg;
if ( dlg.DoModal() = = IDOK) // llamada a la caja de diálogo
{ POSITION pos = AfxGetApp()->GetFirstDocTemplatePosition();
while(pos)
{
CDocTemplate* pTemplate = AfxGetApp()->GetNextDocTemplate(pos);
POSITION pos2 = pTemplate->GetFirstDocPosition();
while(pos2)
{
CDocument* pDocument;
if ((pDocument=pTemplate->GetNextDoc(pos2)) != NULL)
{
CString name= pDocument->GetTitle();
int nDocType = -1;
if (!theApp.PromptForFileName(name, AFX_IDS_SAVEFILE,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT|OFN_PATHMUSTEXIST,FALSE, &nDocType))
return;
if(!pDocument->OnSaveDocument(name))
{AfxMessageBox("Error al guardar la imagen");
return;}
pDocument->OnCloseDocument();
}
}
}
}

// Si el usuario no quiere guardar cambios se cierran todas las ventanas abiertas

else
{POSITION pos = AfxGetApp()->GetFirstDocTemplatePosition();
while(pos)
{
CDocTemplate* pTemplate = AfxGetApp()->GetNextDocTemplate(pos);
POSITION pos2 = pTemplate->GetFirstDocPosition();
while(pos2)
{
CDocument* pDocument;
if ((pDocument=pTemplate->GetNextDoc(pos2)) != NULL)
pDocument->OnCloseDocument();
}
}
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar