Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

MessageDlg no cierra ¿?

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: MessageDlg no cierra ¿? Responder citando

Holas, aqui vengo otra vez con una duda sobre un problema extraño a mi parecer.

Tengo el siguiente código:

Código:

if (MessageDlg("¿Guardar datos?",mtConfirmation, TMsgDlgButtons()<<mbYes<<mbNo, 0) == mrYes)
 {
    ... aquí va más código ...
 }

else

 Form1->Close();


Pero el Close() no me va, lo he tenido que hacer con Form1->Hide();

Application->Terminate() no me sirve porque me finaliza la aplicación, solo quiero que se cierre el Form1

Alguna sugerencia?
_________________
Saludos, Alpha.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mensaje    Asunto: Responder citando

¿En que evento estás agregando tú código?
_________________
Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

En OnClose del Form, será por eso??
_________________
Saludos, Alpha.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mensaje    Asunto: Responder citando

Si ya estás capturando el evento, no tendría sentido volver a indicar Close. El flujo del programa indica que se esta cerrando el form, sería redundante.

Un ejemplo utilizando el evento OnCloseQuery:

Código:
void __fastcall TForm1::FormCloseQuery(TObject *Sender, bool &CanClose)
{
    if ( Application->MessageBoxA("¿Desea salir?",
    "Confirme", MB_YESNO | MB_ICONQUESTION) != mrOk )
        CanClose = false;
}


CanClose es una variable booleana que maneja el evento, y por default tiene el valor true por lo que si alteras su valor a false, el formulario no se cerrará.

Saludos!
_________________
Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Gracias Buildero.
_________________
Saludos, Alpha.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.