border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 


Retroceder   VB-MUNDO - Programacion Visual > Programacion - Lenguajes > Visual Basic 6.00
Registrarse FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
LinkBack Herramientas Desplegado
  #1 (permalink)  
Antiguo 12-10-2006, 16:35:26
Avatar de Black_devil
Gran Participación en el Foro
 
Registrado: jun 2006
Ubicación: San Carlos, VIII Reg.
Posts: 415
Black_devil Valoración +2
Predeterminado Como activar tecla esc correctamente para salir de un form

Hola amigos, tengo el código que activa la tecla esc y pueda salir de un form, pero el problema sucede cuando el focus lo obtiene un datacombo y al presionar la tecla esc ya no funciona, por favor alguien me podría explicar, saludos


Código:
Private Sub Form_KeyPress(KeyAscii As Integer)
 If KeyAscii = vbKeyEscape Then 'Se ha pulsado ESC
        'Descargamos el formulario
        Unload Me
    End If
End Sub
Aca el cod, pero cuando el cursor se encuentra en un datacombo ya no funciona el esc...
__________________
TAMD MYM
Responder Con Cita
  #2 (permalink)  
Antiguo 12-10-2006, 17:29:44
Avatar de J.M.Movilla
Administrator
 
Registrado: dic 2002
Ubicación: BURGOS - ESPAÑA
Posts: 5.404
J.M.Movilla Valoración +2
Predeterminado

1º.- En el Form marca la propiedad KeyPreview = True
2º.- Incorpora estas líneas de código
Código:
Private Sub Form_KeyPress(KeyAscii As Integer)
   If KeyAscii = 27 Then Form_Unload(1)
End Sub
Si tienes un comando diseñado para cerrar el formulario, en lugar de Form_Unload, ejecuta ese comando.
__________________
José María Movilla Cuadrado
______________________

Visual Basic Videos Programacion Foro Programacion
Tutoriales Programacion Trucos Programacion Codigos Programacion
Responder Con Cita
  #3 (permalink)  
Antiguo 12-10-2006, 19:32:23
Avatar de Black_devil
Gran Participación en el Foro
 
Registrado: jun 2006
Ubicación: San Carlos, VIII Reg.
Posts: 415
Black_devil Valoración +2
Predeterminado

Hola, gracias Sr. Movilla por su oportuna respuesta, tengo un comando para cerrar, pero lamentablemente, cuando el foco se encuentra en cualquiera de los datacombo la tecla ESC pierde su función, a qué se deberá esto?? :smt017
__________________
TAMD MYM
Responder Con Cita
  #4 (permalink)  
Antiguo 12-10-2006, 19:40:29
Avatar de J.M.Movilla
Administrator
 
Registrado: dic 2002
Ubicación: BURGOS - ESPAÑA
Posts: 5.404
J.M.Movilla Valoración +2
Predeterminado

¿Pero ya has incorporado lo que te aconsejé en el anterior mensaje? Porque si le activas el KeyPreview no tiene por qué ocurrirte eso...
__________________
José María Movilla Cuadrado
______________________

Visual Basic Videos Programacion Foro Programacion
Tutoriales Programacion Trucos Programacion Codigos Programacion
Responder Con Cita
  #5 (permalink)  
Antiguo 12-10-2006, 21:40:48
Avatar de Black_devil
Gran Participación en el Foro
 
Registrado: jun 2006
Ubicación: San Carlos, VIII Reg.
Posts: 415
Black_devil Valoración +2
Predeterminado

Hola, correcto en todos mis formularios ocupo el keypreview = true, ya que también uso esto:

Código:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then SendKeys "{tab}"
KeyAscii = 0
End Sub
Ya que uso el enter para pasar de un control a otro, pero lo extraño que cuando presiono ESC y el focus se encuentra en un datacombo, sólo ahi deja de funcionar la tecla, ojo que los datas están conectados con ADO y tienen la propiedad style = 2, no sé si tiene que ver... que sucede??
__________________
TAMD MYM
Responder Con Cita
  #6 (permalink)  
Antiguo 12-10-2006, 22:07:56
Buena Participación en el Foro
 
Registrado: mar 2006
Posts: 32
netman Valoración +2
Predeterminado

Hola a lo mejor digo una tonteria que ya has probado, pero has intentado poner en el keypress del datacombo la llamada al comando cerrar?
Responder Con Cita
  #7 (permalink)  
Antiguo 12-10-2006, 23:04:43
Moderador
 
Registrado: dic 2002
Ubicación: Oviedo - Asturias
Posts: 1.251
angelescj Valoración +2
Predeterminado

Algo debes tener mal, porque yo lo acabo de probar y funciona correctamente. Sube el código que te da problemas y lo miramos, ya que probablemente sea una propiedad cambiada u otro código que no nos has dicho porque no le has dado importancia
:smt004
__________________
Angeles
-------------------------------------
Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
  #8 (permalink)  
Antiguo 13-10-2006, 21:23:01
Avatar de Black_devil
Gran Participación en el Foro
 
Registrado: jun 2006
Ubicación: San Carlos, VIII Reg.
Posts: 415
Black_devil Valoración +2
Predeterminado

Hola, la verdad no sé cuál es el código que da problemas, sólo tengo ese código en el form

Código:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then SendKeys "{tab}"
KeyAscii = 0
End Sub
Código:
Private Sub Form_KeyPress(KeyAscii As Integer)
 'If KeyAscii = vbKeyEscape Then 'Se ha pulsado ESC
        'Descargamos el formulario
  '      Unload Me
   ' End If
    
    If KeyAscii = 27 Then Unload Me

End Sub
Funciona correcto, pero cuando el foco esta en algun data ya deja de funcionar, los data en la propiedad Style los tengo en 2, y conectados con ADO, ya no sé cuál será el problema ...
__________________
TAMD MYM
Responder Con Cita
  #9 (permalink)  
Antiguo 13-10-2006, 21:27:49
Avatar de Black_devil
Gran Participación en el Foro
 
Registrado: jun 2006
Ubicación: San Carlos, VIII Reg.
Posts: 415
Black_devil Valoración +2
Predeterminado

Hola, ahora coloque un datacombo en form y un ado, ni siquiera los conecte, el datacombo le cambie la propiedad style una por una y cuando tiene el foco o sea cuando el cursor se encuentra en él, deja de funcionar el ESC alguien puede hacer eso y enviarme el código por favor ... :smt017
__________________
TAMD MYM
Responder Con Cita
  #10 (permalink)  
Antiguo 13-10-2006, 23:05:50
Avatar de juancarlosavalos
Gran Participación en el Foro
 
Registrado: jul 2005
Ubicación: Libertad / Merlo prov Buenos Aires
Posts: 206
juancarlosavalos Valoración +2
Predeterminado

No se porqué sucede esto. pero una solución posible es poner un commandbutton con su propiedad Cancel = True y en este poner el código que debe ejecutarse al presionar ESC. La única contra es que para que funcione el commandbutton debe estar visible.
Por lo general, lo nombre como Salir, pero en vez de poner todo el código aquí, tan solo hago Unload Me, y en el evento QueryUnload pongo todo el código que necesito. Ya que el usuario puede apretar Salir, ESC o la X (la X de cerrar formulario).
Espero que te sirva de algo.
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último Mensaje
Deshabilitar tecla alt en form y permitir numeros en textbox ridock Visual Basic.NET 2003 & 2005 3 20-06-2007 21:35:46
Como terminar correctamente un programa ? Quique1111 Visual Basic 6.00 2 20-09-2006 17:07:11
Error en VB al salir de form Andres Visual Basic 6.00 1 12-02-2005 18:58:59
como enlazo dos windows forms y trabajen correctamente cibgris Visual Basic 6.00 1 15-03-1970 05:12:17
como leer correctamente base64 (binario)??? ivanitoweb Visual Basic 6.00 0 12-02-1970 11:46:07


La franja horaria es GMT. Ahora son las 22:58:32.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right