Como anular un keycode

Estoy trabajando con un sstab
Y necesito que si un textbox esta vacío... No permite desplazarse hacia las otras solapas...
Lo estoy haciendo por medio de presskey
Pero no se como hacer para que lo ignore
probe con keycode = vbkeydown
Porque cuando apretás para abajo no hace nada... Pero no me funciona
Tal vez halla otra forma mejor de hacerlo

1 Respuesta

Respuesta
1
A ver, te digo como yo lo haría. Digamos que el tab lo tienes con 3 pestañas. En el primer Textbox de la segunda pestaña, que se supone que será el text que tome el foco cuando entres a esa pestaña, en su evento GotFocus haría las validaciones de los text de la primera pestaña. En la tercera pestaña, validaría los text de la segunda y la primera pestaña, y así sucesivamente, supongo que con el primer control con el gotfocus por pestaña es suficiente. Además con esto controlarías también si el usuario ha cambiado de pestaña con el ratón.
Si crees que sigues necesitando lo del keycode = 0, no se como lo habrás hecho, me da la sensación de que tienes capturada alguna tecla para el avance de pestañas. ¿En qué evento has puesto ese código? Igual es por el orden de eventos, que el programa 1º avanza pestaña y luego hace la validación. No se, hablo por intuición, ya me dirás.
Ya lo hice, eso es cuando es keyascii.
Con keycode es distinto.. también probé con enviarle keycode = vbkey0
Pero tampoco funciono
Tienes alguna otra idea
A ver si entendí...
Yo lo que quería hacer era... cuando tengo el foco en la primer pestaña... si uso las flechas de desplazamiento puedo ir a las otras... quería anular esto si el text estaba vacío...
Vos me recomendás... que cuando cambie de pestaña.. setee el foco en el control default de esta pestaña... ¿y qué use el evento de ese control para volver a la pestaña anterior?
En efecto tengo 3 pestañas
Pero la única que tienen un text obligatorio es la primera...
Yo quiero que no se pueda desplazar... ni con mouse, ni con teclado a las otras pestañas...
Para cuando lo hace con el mouse pude lograrlo con el evento click de la solapa... me gustaría anular el desplazamiento con el mouse...
Creo que ahora me explique mejor...
Muchísimas gracias desde ya
Un saludo Ezequiel
Desde Rosario Argentina
prueba con keycode = 0
Una excelente respuesta... muchísimas gracias
A ver, he estado haciendo una prueba, un tab con 3 pestañas, cuando en el último text de la primera pestaña le doy a la flecha de abajo paso al siguiente tab, y por supuesto cuando hago click con el ratón al segundo tab se va a este, creo que es lo que hace tu programa.
Ahora para controlar que no se cambie de tab si no está ese campo relleno.
Cambie de tab con ratón o por teclado, el tab siempre dispara el evento click. Por lo que algo así me funciona:
(El text1 se supone que es el text que siempre tiene que estar relleno)
Private Sub SSTab1_Click(PreviousTab As Integer)
If PreviousTab = 0 Then
If Text1.Text = "" Then
SSTab1.Tab = 0
Text1.SetFocus
End If
End If
End Sub
Con esto, cuando haya cambio de tab, si no está relleno ese campo el cursor se irá a el.
Espero que sea esto lo que necesitas, si no es así si quieres envíame por mail el formulario.
([email protected])

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas