Ejemplos usando el Api de windows para Visual basic

45 - Permitir la entrada de solo números en controles

<Volver> - Anterior - Siguiente



 

 

 

Contenido

 

 

 

 


Ejemplo 1 - TextBox

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

Ejemplo para los TextBox

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

Otro ejemplo

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

 


Aplicar solo números a un comboBox

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

 


Ejemplo 3 - InputBox

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

 


Recursos VB.NET - Enlaces relacionados

 



Buscar en Recursos vb