Olá pessoal, este é meu primeiro artigo aqui na DevMedia, e gostaria de mostrar como exibir “bolinhas”, em um campo de senha.

Bem, muitos conhecem como fazer isso trocando a fonte do TEdit (Arial, Tahoma, MS Sans Serif, etc.) pela fonte Wingdings. Para quem não sabe lá vai:

Abra o Delphi, e insira um TEdit no Form. Em sua propriedade Font, clique no botão de elipse (...). Na caixa de diálogo fonte, troque a fonte por Wingdings e dê OK. Depois vá para a propriedade PasswordChar, e troque o valor que estiver lá (geralmente #0, caracter nulo), por l, um ‘L’ minúsculo. Teste e veja o resultado.

Bem, essa maneira todo mundo conhece, e tudo funciona muito bem. Mas no caso do Delphi 2009, em que os componentes TEdit, TComboBox e TButtonedEdit (um novo componente adicionado na VCL), entre outros, agora carregam a propriedade TextHint, para manter compatibilidade com o Vista, que para quem não sabe, mostra um "fantasma" no fundo da caixa de texto para dar uma dica. Porém, essa técnica de troca de fonte não funciona, pois também troca a fonte do TextHint.

Agora há uma maneira diferente de mostrar “bolinhas” para esconder a senha, além de trocar a fonte. E claro, essa maneira também serve para qualquer outro componente, tanto da VCL Delphi 2009, quanto de versões mais antigas da mesma, como o Delphi 7 ou qualquer outro.

Coloque outro TEdit no mesmo Form. Depois vá em Menu Iniciar->Executar, ou pressione Windows+R. Digite “charmap”, dentro do diálogo e pressione Enter. Isso irá abrir o mapa de caracteres do Windows. Lá você pode selecionar a fonte para mapear todos os caracteres da fonte. Para exemplo, vamos escolher Arial. Agora procure na grade o caractere “●”, que está um pouco abaixo dos caracteres de Libra (₤), Euro (€), TradeMarks(™), entre outros, mas se quiser selecione outro caracter qualquer. Depois clique no botão Selecionar, e depois Copiar. Feche o Mapa de Caracteres, e volte ao Delphi. Na propriedade PasswordChar, cole o caracter selecionado. Execute e veja o resultado dos dois métodos, e se tiver oportunidade, experimente com os componentes da VCL Delphi 2009, para ver qual pode ser a melhor maneira.

Vale lembrar que o computador em que o software for instalado, deve possuir a mesma fonte utilizada no desenvolvimento, então é melhor dar preferência às fontes nativas do Windows (Arial, MS Sans Serif, Tahoma, etc.), e se você utilizar outra fonte qualquer, deve distribuí-la e registrá-la no momento de instalação do software.

Lembrando mais uma vez, que essa técnica funciona perfeitamente com versões mais antigas da VCL.

Obrigado pela atenção, e até a próxima.