Sección de tutoriales y manuales vb

Control MaskedBox de visual basic

Volver al índice

Guía básica con ejemplos del de uso del control MaskedBox de Vb



 

 

índice - Contenido

 

 

 

 

 

1 - Descripción del MaskedBox

Con este control se puede permitir la entrada de datos personalizada, por ejemplo para ingresar fechas, horas, texto, crear la entrada de datos con un formato específico. El control en su aspecto es muy similar a un control textBox.

Para añadir el MaskEdBox a un proyecto se debe hacerlo desde el menú Proyecto > Componentes y seleccionar el control Microsoft Masked Edit Control 6.0 de la lista de Activex

 

vista previa de la ventana de componentes de visual basic para agregar el control al proyecto

 

A continuación siguen algunos ejemplos:

 


2 - Especificar una máscara y formato para ingresar una fecha y también validar los datos

 

El siguiente ejemplo, indica en la propiedad Format el valor: "dd/mm/yyyy"

En la propiedad Mask el valor "##/##/####"

 

La vista en tiempo de ejecución para poder ingresar la fecha sería por ejemplo:

 

 

Esto hará que solo se puedan ingresar una fecha, pero no valida que la misma sea correcta. Es decir podemos ingresar el valor 66/99/9999 tranquilamente.

Para ello se puede utilizar el evento Validate del control, y dentro del mismo comprobar mediante la función Isdate de visual basic si la misma es correcta. Si la fecha es erronea, se establece el valor del parámetro Cancel en True, De este modo el foco del control quedará en el MaskEdBox. También opcionalmente podemos mostrar un mensaje o lo que sea necesario dentro del evento validate

Colocar un MaskEdBox llamado MaskEdBox1, y el siguiente código en el formulario:

 

Private Sub Form_Load()

With MaskEdBox1
    'Indicamos al MaskEdBox la máscara a utilizar y el formato
    .Format = "dd/mm/yyyy"
    .Mask = "##/##/####"
    
End With

End Sub

Private Sub MaskEdBox1_Validate(Cancel As Boolean)

If IsDate(MaskEdBox1.FormattedText) = False Then
   
   'Opcional: podemos mostrar un mensaje
   MsgBox " La Fecha no es válida ", vbCritical, " Error al ingresar la fecha "
   Cancel = True

End If

End Sub
 

 

Si quisieramos hacer que la fecha se vea en este formato dd-mm-yyyy

 

el valor de Mask sería el siguiente:

El_MaskedBox.Mask = "##-##-####"

 


3 - Especificar una máscara y formato para ingresar un valor hora y también validar los datos

 

Este ejemplo es igual al anterior, pero es para indicar un valor de tipo Hora AM/PM, es decir si ingresamos por ejemplo 99:88, dará error ya que en el Validate se comprueba que sea una hora válida ( también utilizando la función IsDate dentro del evento Validate del control )

La vista en tiempo de ejecución del control mostrando la valor de tipo hora sería :

 

 

Código en el formulario:

Private Sub Form_Load()

With MaskEdBox1
    
    'Indicamos al MaskEdBox la máscara a utilizar y el formato
    .Format = "hh:mm AM/PM"
    .Mask = "##:##"
    
End With

End Sub

Private Sub MaskEdBox1_Validate(Cancel As Boolean)
    
    'Comprueba si la Hora es válida
    If IsDate(MaskEdBox1.FormattedText) = False Then
   
        'Opcional: podemos mostrar un mensaje
        MsgBox "Fecha errónea", vbCritical, "Validación de ....."
        Cancel = True
        
    End If

End Sub
 

 


4 - Ventana Custom del control MaskEdBox

Desde esta ventana, se pueden especificar las propiedades mas importantes, como la máscara, Formato, propiedades para cambiar la apariencia etc...

 

Ventana Custom del control para configurar las propiedades mas importanetes

 

Asi como los formatos se pueden indicar en tiempo de diseño desde dicha ventana, como también en tiempo de ejecución mediante código, el control ya tiene predefinidas algunas para las fechas, horas, números etc.. desde la lista desplegable

 

Nota: en la Msdn podés acceder a la descripción sobre los caracteres de máscara y su significado, por ejemplo el caracernumeral # es para los dígitos, el caracter ">" para convertir a mayúsculas, el signo "?" para letras etc..

 


5 - Limpiar el contenido de un MaskEdBox

Asi como en un textBox s ise desea limpiar el contenido del control se asigna una cadena nula, en este control es necesario anteriormente establecer la propiedad Mask con una cadena vacía y luego limpiar el control, si no se producirá un error.

Por ejemplo:

'Limpia el contenido del control
El_MaskedEdBox.Mask = ""
El_MaskedEdBox.Text = "" 

 

..es decir que al hacer esto, además de borrar el contenido dejar el Mask en blanco , el mismo actuará similar a como lo hace un control textBox, ya que no tiene ninguna máscara asignada

 


6 - Enlazar el control a una base de datos

Para que pueda mostrar valores de una base de datos, se deben utilizar las propiedades DataField y DataSource. Por ejemplo:

 

Set El_MaskedEdBox.DataSource = El_Recordset
El_MaskedEdBox.DataField = " EL Campo " 

 

Acá hay un simple ejemplo que enlaza el control MaskedEdBox a un control Adodc. El campo que visualiza es el campo Fechaalta de la tabla usuarios. Este campo se asigna a la propiedad DataField del mismo

 

Descargar

 


7 - Máscaras para Mayúsculas y minúsculas

Por ejemplo si quisieramos hacer que el control MaskedBox permita la entrada solo de letras mayúsculas, se debe indicar en la propiedad Mask , el carcacter > . Y la cantidad de caracteres a usar.

Por ejemplo lo siguiente permite la entrada de cuatro letras mayúsculas

vista del ejemplo del maskedbox para ingresar mayusculas

MaskEdBox.Mask = ">AAAA"

 

Para permitir solo el ingreso de Minúsculas usar el caracter < al comienzo de la máscara . Por ejemplo lo siguiente solo permite el ingreso de 6 caracteres en minúsculas

 

vista del ejemplo del maskedbox para ingresar minúsculas

MaskEdBox.Mask = "<AAAAAA"

 

Nota : en los dos casos anteriores solo admite cualquier tipo de caracter pero no admite espacios.

Para admitir espacios, en ves de colocar en la máscara el caracter a como Mayúscula, hacerlo con la letra minúscula.

Por ejemplo, eso permite la entrada de cinco caracteres minúsculas y también pernmite la entrada de espacios

MaskEdBox.Mask = "<aaaaa"

 


Referencia de la ayuda de visual basic

En este enlace se encuentra en formato .chm la referencia de ayuda sobre el control Masked Edit (Control).

Contiene los temas :

 

Descargar archivo

 


Volver al índice

 

 


Buscar en Recursos vb