Visual Basic - cambio de foco con enter

Life is soft - evento anual de software empresarial
 
Vista:

cambio de foco con enter

Publicado por Roberto Muñoz Moreno (24 intervenciones) el 27/08/2003 17:01:40
Hola:

Quiero cambiar el foco de un command buttom al siguiente control con la tecla enter, ya probe con el evento keypress del formulario, funciona con los demas controles pero no con este.

De antemano gracias por su ayuda.

Roberto M.M.
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:cambio de foco con enter

Publicado por Juan (284 intervenciones) el 27/08/2003 17:45:10
Pues a lo mejor necesitas subclasificar la ventana. Es una técnica que permite interceptar los mensajes(eventos) antes de que se ejecuten en la forma tradicional de VB.

Con esto se pueden evitar algunos comportamientos por defecto como la aparición del menú contextual de edición en los cuadros de texto, y posiblemente también se pueda evitar que un command ejecute el evento click cuando pulsas enter.

En esta dirección http://guille.costasol.net/avanzado/subclassing_menu.htm hay un ejemplo de subclasificación de ventanas.

Si tienes los CDs de MSDN Library puedes ver un ejemplo en la sección:

Books/Hardcore Visual Basic/Chapter 6: Taking control of windows/Receiving Messages/Your own window procedure.
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

RE:cambio de foco con enter

Publicado por juan carlos (1 intervención) el 27/08/2003 23:59:46
en el evento keypress del formulario

if keyascii=13 then
sendkeys {tab}
end if

ademas en las propiedades del fomulario
tienes que fijarte en la propiedad tabindex de cada control
para saber cuando va ha recibir el foco (tiene un numero)
y en la propìedad
keyprewies=true
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

RE:cambio de foco con enter

Publicado por JOse (6 intervenciones) el 30/08/2003 21:22:56
hay una manera sencilla:
en un modulo creas el siguiente procedimiento:
Public sub FocusEnter (TextoSiguiente as TextBox, Key)
if key = 13 then
textosiguiente.setfocus
end if
end sub

en el keypress del text1:
'suponiendo que estoy en el text1 y quiero que valla al text2
FocusEnter text2,keyascii
muy sencillo pero funciona!!!

saludos...

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