Como todos sabemos o Edit mantém todo texto digitado a esquerda, o que não fica bem quando o usamos para a entrada de números, pois bem, o exemplo abaixo apresenta uma alternativa para centralizar um determinado valor dentro de um Edit:
procedure EditChange(Sender: TObject);
var
vl_label : TLabel; //variável do tipo Label
begin
vl_label := TLabel.Create(self); //criamos um label
WITH vl_label DO
BEGIN
Font.Name := TEdit(sender).Font.Name; //pegamos a fonte usada no edit
Caption := TEdit(sender).Text; //pegamos o conteúdo do edit
SendMessage(TEdit(sender).Handle, EM_SETMARGINS, EC_LEFTMARGIN,
(TEdit(sender).Width-vl_label.Width) div 2); //centraliza no label e retorna para o edit
END;
vl_label.Free;
end;
Ok, utilizei o código e funcionou perfeitamente. Obrigado.
ResponderExcluirlegal esse codigo funciona muito bem
ResponderExcluirExcelente código. Funciona perfeitamente. Obrigado pela contribuição
ResponderExcluir