Hola oscarac.
Un ejemplo con un
TEdit:
Código Delphi
[-]
procedure TForm1.Edit1Change(Sender: TObject);
begin
if Length(Edit1.Text) = Edit1.MaxLength then
Perform(WM_NEXTDLGCTL,0,0);
end;
Lógicamente la propiedad
MaxLength debe tener un valor distinto de 0.
Saludos.