Para controlar lo que se escribe es mejor capturar el evento
OnKeyPress, así si es un caracter invalido ya no dejas escribirlo.
Por ejemplo, en el OnKeyPress puedes poner algo parecido a esto:
Código Delphi
[-]if not (key in ['0'..'9','.']) then Key:=#0;
Como alternativa, también tienes el componente
TMaksEdit, y un ejemplo de mascara: 000.000.000.000;1;_
Saludos