Home   Artículos   Recursos   Foros   
Artíclos recientes publicados en Latindevelopers:

Visual C++: NSDoubleEdit: Un control para el manejo de números decimales en Visual C++.
Visual C++: Implementando una Calculadora en Visual C++
Visual C++: CCommandLine: Una clase para el uso de la linea de comando
Visual C++: Una clase para el manejo del Registro


El dialogo se cierra!!!

Aqui programadores en la plataforma Win32 con Visual C++ de Microsoft...

Moderador: latindeveloper

El dialogo se cierra!!!

Notapor Leo el Dom May 02, 2004 7:16 pm

Hola a todos, estoy escribiendo un pequeño programa con Visual C++,

Tengo un cuadro de diálogo con unas cajas de texto y un CtrlGrid (MFC GridCtrl de CodeProject.com), las cajas de texto están subclasificadas para procesar las entradas de teclado, cuando pierden el foco y lo coloco (el foco) sobre otro control (por ejemplo la rejilla) y presiono la tecla enter el diálogo se cierra inesperadamente y pierdo todo lo digitado; ya he sobrecargado las funciones OnClose() y OnCancel() si resultados.

Si alguien tiene alguna idea de como evitar el cierre del diálogo le agradecería una respuesta.

Saludos desde Costa Rica.
Leo
Novato
Novato
 
Mensajes: 1
Registrado: Dom May 02, 2004 6:53 pm

Re: El dialogo se cierra!!!

Notapor latindeveloper el Sab May 15, 2004 12:18 pm

La solucion a tu problema es dejar vacia la funcion OnOK de esta manera

void CTuDialogo::OnOK(){
// nada de nada
}

Y cuando hagas enter no pasará nada.

Si deseas que al hacer enter en tu dialogo pase al siguiente control le agregas el siguiente codigo:
Código: Seleccionar todo
void CTuDialogo::OnOK(){
  if(GetDlgItem(IDOK) == GetFocus()){
     CDialog::OnOk();
  }else {
     GetNextDlgTabItem(GetFocus())->SetFocus();
  }
}


Espero que te sirva de algo... :D

Avisas si tienes problemas con el codigo.
Avatar de Usuario
latindeveloper
Administrador
Administrador
 
Mensajes: 1061
Registrado: Lun Jun 02, 2003 8:29 pm
Ubicación: Peru


Volver a Visual C++

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados