ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

TabOrder para componentes em runtime

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
RefPina
Novato
Novato


Registrado: Quinta-Feira, 31 de Outubro de 2019
Mensagens: 43
Localização: São Paulo

MensagemEnviada: Qui Mar 12, 2020 5:10 pm    Assunto: TabOrder para componentes em runtime Responder com Citação

Boa tarde pessoal,
Na minha aplicação em um dos forms crio varios label e edits em runtime. O problema é que setei no código edit1.taborder:=0, fiz isto para todos os componentes criados, só que ele não respeita A ORDEM DE TABULAÇÃO.
Poderiam me dar um exemplo de como faço isto. Muito obrigado desde já.


Editado pela última vez por RefPina em Seg Mar 16, 2020 10:56 am, num total de 2 vezes
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Qui Mar 12, 2020 6:08 pm    Assunto: Responder com Citação

Boa tarde,

Acho que se você quer uma ordem de tabulação específica, então deve atribuir um número diferente e em ordem crescente para o TabOrder de cada componente.

Espero que ajude

_________________
Assinatura: https://www.imoveisemexposicao.com.br/imoveis-alugar-guarulhos-comercial_ou_industrial-salão
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10653
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Sex Mar 13, 2020 7:13 am    Assunto: Responder com Citação

Se você olhar a propriedade taborder, quando você modifica o valor de um componente, os outros ficam com nova ordem, obedecendo a uma ordem específica. Dê uma olhada no object inspector do delphi e perceberá isto.



bye
_________________
P.O.W.E.R B.Y D.E.L.P.H.I
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
RefPina
Novato
Novato


Registrado: Quinta-Feira, 31 de Outubro de 2019
Mensagens: 43
Localização: São Paulo

MensagemEnviada: Sex Mar 13, 2020 4:44 pm    Assunto: Responder com Citação

Boa tarde senhores,
Muito obrigado pelas dicas, acabei resolvendo de uma outra forma. Vou deixar a resolução aqui caso alguém precise. Como disse no post anterior crio alguns componentes dinamicamente em runtime com isto de nenhuma forma o TabOrder seguia uma regra para esses componentes criados em runtime, minha solução foi no evento OnExit destes componentes criados colocar um .SetFocus para o próximo componente também criado dinamicamente.
Obrigado pela força e diposição senhores.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Seg Mar 16, 2020 10:44 am    Assunto: Responder com Citação

Bom dia,

Acho que essa alternativa pode em alguns casos trazer um comportamento inesperado para o usuário caso ele utilize o mouse para setar o foco em outro componente que não seja o considerado próximo, ou quando por exemplo o usuário quer voltar para corrigir algo que foi digitado errado em um componente anterior.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
RefPina
Novato
Novato


Registrado: Quinta-Feira, 31 de Outubro de 2019
Mensagens: 43
Localização: São Paulo

MensagemEnviada: Seg Mar 16, 2020 10:56 am    Assunto: Responder com Citação

Bom dia Imex,
Fiz os testes na sexta-feira após ter respondido o post e me deparei exatamente com o que você pontuou. O problema é que mesmo setando o valor para o TabOrder o mesmo se perde quando executa. Mesmo com um loop para setar o TabOrder dos componentes que são criados dinamicamente. Tem alguma sugestão do que eu posso fazer? Agradeço novamente.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB