Ejemplos usando el Api de windows para Visual basic
<Volver> - Anterior - Siguiente
Contenido
El siguiente ejemplo muestra como podemos hacer para que en un control textBox y comboBox ingresar solo números usando el api de windows.
Primero un ejemplo para los textbox y los Combobox. y al final de la página otro ejemplo para poder aplicar solo la entrada de números en un cuadro de diálogo InputBox
Descripción
Primero lo que se hace es obtener "el estilo" o propiedades del control TextBox usando el Api GetWindowLong
Luego se modifica el estilo "Propiedades " del control mediante una constante llamada ES_NUMBER y se le pasa al control el nuevo estilo o característica con el Api SetWindowLong
Ejemplo
Colocar un Text1 y un Command1, al presionar el Command1 se llama a la función SoloNumeros, pasandole el TextBox, en este caso es el Text1 que en el parámetro está declarado como de tipo TextBox.
Importante: Los controles textBox, solo admitirán números, pero no permite ingresar el caracter del punto, coma. Es decir podremos ingresar solo números enteros, y también utilizar las teclas backspace, Supr etc..
Código fuente
Lo siguiente, es exactamente igual al ejemplo anterior, pero en este caso se recorre mediante un bucle For Each todos los controles Textbox que hay en el formulario y llama al procedimiento Solo_Numeros para aplicar los cambios a las cajas de texto
Agregar un CommandButton y varios textbox
Código fuente en el formulario
Para utilizar este mismo ejemplo para controles ComboBox , a las funciones Api no basta con pasarle el Hwnd del combo como se hace con el TextBox, y hay que pasarle el Hwnd del área de edición del combo.
Para obtener este hwnd podemos hacer una llamada al Api FindWindowEx que nos retorna dicho Handle
Hwnd_Combo = FindWindowEx(El_combobox.hwnd, 0, "EDIT", vbNullString)
Un ejemplo
Lo siguiente modifica todos los combo que hay en el formulario al presionar un Command1
Agregar un CommandButton y varios Controles Combo
Este ejemplo lo hice basado en este otro InputBox con PasswordChar
El código es practicamente igual, lo único que cambia, es que en este caso, se usa GetWindowLong y SetWindowLong para cambiar el estilo del textbox del diálogo del inputbox
Nota: para obtener el hwnd del inputbox para poder cambiar el estilo y que pueda admitir solo números, se usa, al igual que en el ejemplo anterior del combobox, el api FindWindow y FindWindowEx para poder capturar handle
Controles
Colocar en un formulario un Comand1
Código en el form
Código fuente en un módulo bas
Buscar en Recursos vb
Recursos visual basic - Buscar - Privacidad - Copyright © 2005 - 2009 - www.recursosvisualbasic.com.ar