Hola
bit
No utilizo Lazarus, pero en Delphi para ese fin uso el siguiente procedimiento, que realiza lo que té necesitas.
Código Delphi
[-]procedure OnlyNumber(Sender: TWinControl);
begin
SetWindowLong(Sender.Handle, GWL_STYLE,
GetWindowLong(Sender.Handle, GWL_STYLE) + ES_NUMBER);
end;
y para llamarlo
Código Delphi
[-]procedure TForm1.FormCreate(Sender: TObject);
begin
OnlyNumber(Edit1);
end;
No sé si te servirá en Lazarus.
Ojalá haya podido ayudarte.
Saludos