Hasta donde te puedo ayudar, te dire que puedes usar un edit y un tdblookupcombobox, es mas facil, aunque a veces no funcina como uno quiere pero sirve.
te pongo aqui lo que estoy usando, tengo que decirte que lo he buscado en el foro y tambien es fruto de lo que me han respondido.
Código Delphi
[-]
procedure Tfconcliente.Edit1Change(Sender: TObject);
var
i:integer;
begin
buscapersona.keyvalue := null;
for i:= 1 to length(edit1.text) do
SendMessage(buscapersona.Handle, WM_CHAR, integer(edit1.text[i]), 0);
end;
buscapersona es el dblookupcombobox que lo he llamado asi.
No se si te habra aclarado algo.
Sobre que un edit tenga campos numericos si se puede.
tan solo tienes que convertir el campo numerico en campo string
Código Delphi
[-]edit1.text:=inttostr(campo);
espero haberte aclarado algo, porque tambien soy algo novato.
un saludo