Compartilhar via


Controle MaskedEdit

O controle MaskedEdit é um controle de campo de edição que contém uma máscara no campo de texto do controle. Você pode associar o controle a uma propriedade de valor de cadeia de caracteres inserindo o nome da propriedade na coluna Property da tabela Control.

Use o controle MaskedEdit para criar um modelo para a entrada de informações do usuário, como um número de telefone ou o código de ID do produto. Por exemplo, a propriedade PIDKEY pode ser inserida pelo usuário por meio de um controle MaskedEdit especificado pela definição da propriedade PIDTemplate como uma cadeia de caracteres da seguinte forma:

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

A cadeia de caracteres define o modelo de mascaramento para a entrada da propriedade PIDKEY pelo usuário. O segmento visível da cadeia de caracteres é delimitado por um par de caracteres de colchete (<>).

A tabela a seguir identificou a sintaxe da máscara.

Caractere Significado
< A extremidade esquerda do segmento visível do modelo. Esse caractere e tudo à esquerda dele ficam ocultos na interface do usuário. Não deve haver mais de uma instância desse caractere no modelo.
> A extremidade direita do segmento visível do modelo. Esse caractere e tudo à direita dele ficam ocultos na interface do usuário. Esse caractere é substituído por um traço durante a validação. Se houver um segmento visível que começa com <, ele precisará ser terminado com um > correspondente.
# Esse caractere pode ser um dígito (numeral).
% Esse caractere pode ser um dígito alternativo (numeral) que permite que a máscara controle a maneira como uma ação personalizada diferencia os campos.
@ Esse caractere pode ser um dígito aleatório (numeral). Ele não deve aparecer na parte visível do modelo.
& Esse caractere pode ser qualquer caractere.
^ Esse caractere pode ser um caractere alternativo que permite que a máscara controle a maneira como uma ação personalizada diferencia os campos.
? Esse caractere pode ser um caractere alternativo que permite que a máscara controle a maneira como uma ação personalizada diferencia os campos.
` As marcas de acento grave ` (valor ASCII 96) podem representar um caractere alternativo que permite que a máscara controle a maneira como uma ação personalizada diferencia os campos.
_ Esse caractere é um caractere de sublinhado literal.
= Esse caractere é o terminador de campo. Ele precisa vir após #, %, ^ ou '. Isso cria mais uma posição de entrada do mesmo tipo das posições anteriores e termina o campo com o separador '-'.

 

Qualquer outro caractere é tratado como uma constante literal.

Para os caracteres que podem ser editados, o controle cria janelas de edição separadas com uma janela para cada bloco de caracteres contíguos do mesmo tipo.

Atributos de controle

Para alterar o valor de um atributo que usa um evento, assine o controle em um evento Control na tabela EventMapping e liste o identificador de atributo na coluna Attribute. Insira o identificador do evento Control na coluna Event. Use os atributos a seguir com o controle MaskedEdit.

Atributo Bit hexadecimal Descrição
IndirectPropertyName Esse é o nome de uma propriedade indireta associada ao controle. Se o bit de atributo indireto for definido, o controle vai exibir ou alterar o valor da propriedade que tem esse nome. Se o bit de atributo indireto for definido, esse nome também será o valor da propriedade listada na coluna Property da tabela Control.
Posição Posição do controle na caixa de diálogo. Insira a largura do controle, a altura e as coordenadas do canto esquerdo do controle nas colunas Width, Height, X e Y da tabela Control. Use Unidades do instalador para definir o comprimento e a distância.
PropertyName Esse é o nome da propriedade associada a esse controle. Se o bit do atributo Indirect não for definido, o controle vai exibir ou alterar o valor da propriedade que tem esse nome. Esse atributo é especificado na coluna Property da tabela Control.
PropertyValue Valor atual da propriedade que é exibida ou alterada por esse controle. Se o bit do atributo Indirect não for definido, esse será o valor de PropertyName. Se o bit do atributo Indirect for definido, esse será o valor de IndirectPropertyName. Se o atributo for alterado, o controle refletirá o novo valor.
Texto Para definir a fonte e o estilo da fonte de uma cadeia de texto, acrescente à cadeia de caracteres exibidos o prefixo {\style} ou {&style}. Sendo que style é um identificador listado na coluna Style da tabela TextStyle. Se nenhum deles estiver presente, mas a propriedade DefaultUIFont for definida como um estilo de texto válido, essa fonte será usada. A cadeia de caracteres que especifica o modelo de mascaramento segue esse prefixo e usa a sintaxe já descrita neste tópico.
Visível 0x00000000 0x00000001
Controle oculto. Controle visível.
Inclua esse bit na palavra de bit da coluna Attributes na tabela Control para tornar o controle visível ou oculto quando ele for criado.
Você também pode ocultar ou mostrar um controle usando a tabela ControlCondition.
Enabled 0x00000000 0x00000002
Controle em um estado desabilitado. Controle em um estado habilitado.
Inclua esse bit na palavra de bit na coluna Attributes da tabela Control para habilitar o controle na criação.
Você também pode habilitar ou desabilitar um controle usando a tabela ControlCondition.
Sunken 0x00000000 0x00000004
Exibe o estilo visual padrão. Exibe o controle com uma aparência 3D em baixo-relevo.
Inclua esses bits da palavra de bit da coluna Attributes da tabela Control.
Indireto. 0x00000000 0x00000008
O controle exibe ou altera o valor da propriedade na coluna Property da tabela Control. O controle exibe ou altera o valor da propriedade que tem o identificador listado na coluna Property da tabela Control.
Determina se a propriedade associada a esse controle é referenciada indiretamente.

 

Comentários

O controle MaskedEdit cria uma janela pai da classe BUTTON com os estilos BS_OWNERDRAW e WS_EX_CONTROLPARENT. Ele cria várias janelas filho para essa janela.

  • Em partes de texto constantes, ele cria janelas STATIC com os estilos SS_LEFT e WS_CHILD.
  • Em campos editáveis, ele cria uma janela EDIT com os estilos WS_CHILD, WS_BORDER e WS_TABSTOP.
  • Em campos numéricos, a janela também tem o estilo ES_NUMBER.

Os campos de dígito alternativo, %, e de caracteres alfanuméricos alternativos, ^, ? e ` permitem que ações personalizadas diferenciem os campos de uma forma que possa ser controlada pela máscara, por exemplo, ^ pode ser usado para campos que devem ter letras maiúsculas.