Dudas sobre la utilización de herramientas parecidas a ComboBox y validación de campos con MaskEdBox

Hola xavi soy Carlos Calvo
Solamente te quería preguntar un par de dudillas:
1.- Necesito un control parecido a un ComboBox pero que ademas de ofrecerme una lista desplegable con las opciones, no se pueda escribir en ella y si ofrece la opción de avanzado en la lista por teclado mejor... Como las que ofrece la mayoría de programas.
2.- La otra duda es sobre la validación de campos. Lo estoy realizando con el control MaskEdBox pero tampoco estoy seguro de ser la forma más apropiada...
Si puedes responderme a esta pregunta lo agradecería...
Un saludo cALvET

2 Respuestas

Respuesta
1
Carlos Calvo:
Antes de nada, perdona que te conteste yo pero me acabo de dar cuenta de que iba dirigida a Xavi.
El control que buscas es exactamente un ComboBox pero con la propiedad Style igual a 2 DropDown list. Esta propiedad permite que puedas seleccionar un elemento de los listados en el combo sin permitite escribir. Además te sigue sirviendo las teclas para un acceso más rápido.
Y sobre la duda de validación de campos si me la puedes explicar mejor encantado de echarte una mano.
Espero haberte resultado de ayuda, una saludo y lo siento otra vez.
Gracias por la respuesta y no pasa nada... ha sido bastante rápido.
1.- Sobre el combo box justamente ayer me di cuenta, ahora estoy mirando para intentar deseleccionar una vez que has seleccionado la primera...
2.- Las validaciones que tengo que hacer ahora te pongo un par de ejemplos
2.1.- "99999,99" numero real dígitos 0-9 y dos decimales
2.2.- "aaaaaa" un numero maximo alfanumerico, sin admitir caracter especiales a-z A-Z 0-9
Me gustaria que la validacion sería dinamica, o sea, que si no puede meter letras que ni siquiera le de la opcion. Pero si hay alguna forma mejor de hacerla pues estoy abierto a todo
Gracias de nuevo cALvET
Ok.
Para las validaciones te recomiendo que lo hagas en el evento keypress. Por ejemplo:
Private Sub Text1_KeyPress(KeyAscii As Integer)
'validacion solo texto
If IsNumeric(Chr$(KeyAscii)) Then
MsgBox "No se permite introducir numeros"
KeyAscii = 0
End If
End Sub
Aquí tienes la idea, ahora solo falta hacer la validación que desees.
Respuesta
1
1.- Usa la propiedad Style del combo, establecela a 2-Dropdown Lits
2.- Usa un textbox (por ejemplo) y su evento KeyUp.
select case keycode
case vbkeyreturn
if isdate(text1.text) then
elseif isnumeric(text1.text) then
else
...
Endif
Pon el código que desees en la rama del if que te sea necesaria, o crea una propia (if text1.text>2000 then).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas