Control MaskedEdit

El control MaskedEdit es un control de campo de edición que contiene una máscara en el campo de texto del control. Para asociar el control a una propiedad de valor de cadena, escriba el nombre de la propiedad en la columna Property de la tabla Control.

Puede usar el control MaskedEdit a fin de crear una plantilla para la entrada de información del usuario como, por ejemplo, un número de teléfono o un código de id. de producto. Por ejemplo, el usuario puede escribir la propiedad PIDKEY mediante un control MaskedEdit especificado estableciendo la propiedad PIDTemplate en una cadena como la siguiente:

12345<### -%%%%%%%>@@@@@

La cadena define la plantilla de enmascaramiento para la entrada de la propiedad PIDKEY por parte del usuario. El segmento visible de la cadena se incluye entre corchetes (<>).

En la tabla siguiente se ha identificado la sintaxis de la máscara.

Carácter Significado
< Extremo izquierdo del segmento visible de la plantilla. Este carácter y todo lo que queda a su izquierda están ocultos en la interfaz de usuario. No debe haber más de una instancia de este carácter en la plantilla.
> Extremo derecho del segmento visible de la plantilla. Este carácter y todo lo que queda a su derecha están ocultos en la interfaz de usuario. A este carácter lo reemplaza un guion durante la validación. Si hay un segmento visible que empieza por <, debe terminar con un elemento coincidente >.
# Este carácter puede ser un dígito (numeral).
% Este carácter puede ser un dígito alternativo (numeral) que permite que la máscara controle la forma en que una acción personalizada diferencia los campos.
@ Este carácter puede ser un dígito aleatorio (numeral). Este carácter no debe aparecer en la parte visible de la plantilla.
& Este carácter puede ser de cualquier tipo.
^ Este carácter puede ser uno alternativo que permite que la máscara controle la forma en que una acción personalizada diferencia campos.
? Este carácter puede ser uno alternativo que permite que la máscara controle la forma en que una acción personalizada diferencia campos.
` Las marcas de acento grave ` (valor 96 de ASCII) pueden representar un carácter alternativo que permite que la máscara controle la forma en que una acción personalizada diferencia campos.
_ Este carácter es de subrayado literal.
= Este carácter es el terminador de campo. Esto debe seguir a un elemento #, %, ^ o `. Esto crea otra posición de entrada del mismo tipo que las posiciones anteriores y finaliza el campo con un separador "-".

 

Cualquier otro carácter se trata como una constante literal.

Para los caracteres que se pueden editar, el control crea ventanas de edición independientes con una ventana para cada bloque de caracteres contiguos del mismo tipo.

Atributos de control

Para cambiar el valor de un atributo que usa un evento, suscriba el control a un ControlEvent en la tabla EventMapping y enumere el identificador del atributo en la columna Attribute. Escriba el identificador del evento Control en la columna Event. Puede usar los atributos siguientes con el control MaskedEdit.

Atributo Bit hexadecimal Descripción
IndirectPropertyName Este es el nombre de una propiedad indirecta asociada al control. Si se establece el bit de atributo indirecto, el control muestra o cambia el valor de la propiedad que tiene este nombre. Si se establece el bit de atributo indirecto, este nombre también es el valor de la propiedad que aparece en la columna Property de la tabla Control.
Posición Posición del control en el cuadro de diálogo. Escriba el ancho, el alto y las coordenadas del control de la esquina izquierda del control en las columnas Width, Height, X e Y de la tabla Control. Use unidades del instalador para la longitud y la distancia.
PropertyName Este es el nombre de la propiedad asociada a este control. Si no se establece el bit de atributo indirecto, el control muestra o cambia el valor de la propiedad que tiene este nombre. Este atributo se especifica en la columna Property de la tabla Control.
PropertyValue Valor actual de la propiedad que este control muestra o cambia. Si no se establece el bit de atributo indirecto, este es el valor de PropertyName. Si se establece el bit de atributo indirecto, este es el valor de IndirectPropertyName. Si el atributo cambia, el control refleja el nuevo valor.
Texto Para establecer la fuente y el estilo de fuente de una cadena de texto, anteponga la cadena de caracteres mostrados con {\style} o {&style}. Donde style es un identificador que aparece en la columna Style de la tabla TextStyle. Si ninguno de estos elementos está presente, pero la propiedad DefaultUIFont se define como un estilo de texto válido, se usa esa fuente. La cadena que especifica la plantilla de enmascaramiento sigue este prefijo y usa la sintaxis descrita anteriormente en este tema.
Visible 0x00000000 0x00000001
Control oculto. Control visible.
Incluya este bit en la palabra de bits de la columna Attributes de la tabla Control para que el control sea visible o esté oculto al crearlo.
También puede ocultar o mostrar un control mediante la tabla ControlCondition.
Enabled 0x00000000 0x00000002
Control en estado deshabilitado. Control en un estado habilitado.
Incluya este bit en la palabra de bits de la columna Attributes de la tabla Control para habilitar el control al crearlo.
También puede habilitar o deshabilitar un control mediante la tabla ControlCondition.
Sunken 0x00000000 0x00000004
Muestra el estilo visual predeterminado. Muestra el control con un aspecto 3D hundido.
Incluya estos bits en la palabra de bits de la columna Attributes de la tabla Control.
Indirecto 0x00000000 0x00000008
El control muestra o cambia el valor de la propiedad en la columna Property de la tabla Control. El control muestra o cambia el valor de la propiedad que tiene el identificador que aparece en la columna Property de la tabla Control.
Determina si se hace referencia a la propiedad asociada a este control de forma indirecta.

 

Observaciones

El control MaskedEdit crea una ventana principal de la clase BUTTON con los estilos BS_OWNERDRAW y WS_EX_CONTROLPARENT. Crea varias ventanas secundarias en esta ventana.

  • En el caso de las partes de texto constantes, crea ventanas STATIC con los estilos SS_LEFT y WS_CHILD.
  • En el caso de los campos editables, crea una ventana EDIT con los estilos WS_CHILD, WS_BORDER y WS_TABSTOP.
  • En el caso de los campos numéricos, la ventana también tiene el estilo ES_NUMBER.

Los campos de dígitos alternativos, % y los alfanuméricos alternativos, ^, ?, y ' permiten que las acciones personalizadas diferencien entre campos de una manera que se pueda controlar mediante la máscara; por ejemplo, ^ se puede usar para los campos que deben estar en mayúsculas.