HotEditControls. NET

Uma solução que possa ser moldada e atualizada de acordo com as necessidades da comunidade MSDN. Desenvolvido inicialmente em VB 6 (ActiveX) para validar a entrada de dados com essas características (números com casas decimais, data/hora, mascaras personalizadas, etc.), tudo isso em um único controle, ou seja, o tipo de dado pode ser alterado em tempo de execução.

E a partir de hoje venho compartilhar essa solução com a comunidade MSDN Brasil.

Laércio da Silva Freitas
http://forums.microsoft.com/MSDN-BR/default.aspx?SiteID=21



Principais propriedades:

DataType: Atribui/retorna o tipo de dados a ser utilizado pelo controle. Os seguintes valores são validos:
HotText 0 (Default) Controle Texto.
HotNumber 1 Controle numérico
HotDateTime 2 Controle Data/Hora
HotMask 3 Controle Mascara
HotMemo 4 Controle Memorando (em desenvolvimento)

As demais propriedades são atribuidas de acordo com o tipo de dado selecionado.
Exemplos:

HotEdtControl1.DataType = HotNumber
HotEdtControl1.DateFormat = “dd/mm/yyyy” (será exibido a seguinte mensagem de erro: This property is only available when the “DataType” property is set to "2 - HotDateTime".

InvalidOption: Atribui/retorna o tipo de ação a ser efetuado para validar o valor informado no controle (evento OnValidating()).
ClearData: (Default), caso o valor informado no controle não seja valido, o valor informado é limpo.
KeepFocus: O foco permanecerá no controle até que seja informado um valor valido.
Highlight: A propriedade BackColor do controle será alterado para vermelho (indicando que o valor informado não é valido)
DoNothing: Não faz nenhum tipo de validação do controle.

MaxLength: Leitura e Escrita para DataType = HotText e leitura para os demais controles (HotNumber, HotDateTime, HotMask e HotMemo).

Beep: Utilizado em conjunto com a propriedade InvalidOption. Um beep será emitido caso o valor informado para o controle não seja valido.

DateTimeFormat: Atribui/retorna o formato da data. (É possível criar formatos de data e hora personalizados utilizando os símbolos a seguir).
dd Dia do mês em dois dígitos numéricos (de 01 a 31).
MM O mês do ano em dois dígitos numéricos (de 01 a 12).
aa Os dois últimos dígitos do ano (de 01 a 99).
aaaa O ano completo (de 0100 a 9999).
hh A hora em dois dígitos (de 00 a 23).
mm O minuto em dois dígitos (de 00 a 59).
ss O segundo em dois dígitos (de 00 a 59).


Exemplos:
HotEdtControl1.DateTimeFormat = dd/mm/yyyy hh:mm:ss
HotEdtControl1.DateTimeFormat = mm/yyyy

MaxDateTime: Atribui/retorna o valor máximo permitido para o controle (DataType = HotDateTime).

MinDateTime: Atribui/retorna o valor mínimo permitido para o controle (DataType = HotDateTime).

Mask: Atribui/retorna a máscara de entrada; por exemplo, !(999) 999-9999. É possível definir uma máscara de entrada utilizando os caracteres a seguir.
9 Dígito (de 0 a 9, entrada obrigatória, sinais de adição (+) e subtração (–) não permitidos).
0 Dígito ou espaço (entrada não obrigatória, sinais de adição (+) e subtração (–) não permitidos).
A Letra (de A a Z, maiúsculos e minúsculos) entrada obrigatória.
L Letra (de A a Z, maiúsculos e minúsculos) entrada não obrigatória.
! Letra (de A a Z, somente em maiúsculos) entrada obrigatória.
? Letra (de A a Z, somente em maiúsculos) entrada não obrigatória.
B Espaço
@ Qualquer caractere ou um espaço (entrada obrigatória).
C Qualquer caractere ou um espaço (entrada não obrigatória).
\ Faz com que o caractere seguinte seja exibido como caractere literal.

Exemplo: \A é exibido simplesmente como A).

Delimitador:
exemplo: [s|n] – será permitido apenas os valores de "s" or "n" (não faz distinção entre maiúsculos e minúsculos).

DecimalDigits: Atribui/retorna o número de dígitos da parte decimal. Valor permitido (0 a 10).

MaxNumber: Atribui/retorna o valor máximo permitido para o controle. Além disso, o número de dígitos (parte inteira) é calculado com base no valor da propriedade.

MinNumber: Atribui/retorna o valor mínimo permitido para o controle.

NegativeColor: Atribui/retorna a cor da fonte para valor negativo.

SeparatorDecimal: Atribui/retorna o separador decimal. Valores permitidos:
, (virgula)
. (ponto)

Exemplo:
HotEdtControl1.SeparadorDecimal = “,” (o separador de milhar será: . (ponto)).
HotEdtControl1.SeparadorDecimal = “.” (o separador de milhar será: , (virgula)).

UseSepThousand: Atribui/retorna se o símbolo do separador de milhar será exibido pelo controle.

AutoCase: Atribui/retorna o tipo de controle a ser aplicado ao digitar um valor no controle.
None: (Default), Não faz nada.
Uppercase: Alterar o valor digitado no controle para maiúsculo.
Lowercase: Alterar o valor digitado no controle para minúsculo.

Last edited Aug 26, 2008 at 2:51 AM by laerciofreitas, version 3