Campos Edit - posicionar automaticamente um novo campo

Delphi

08/01/2005

Senhores, qual propriedade devo usar para fazer com que um campo Tedit, ao ser digitado todo seu número maximo de caracteres, pule para o próximo campo ( sem que seja necessário o uso da tecla TAB) definido pela propriedade Tab Order ?

SDS


Rounilo

Rounilo

Curtidas 0

Respostas

Carlosrm

Carlosrm

08/01/2005

Rounilo,

se a sua idéia e tornar a digitação mais rápida, eliminando uma ´teclada´ do Tab para cada edit, dbedit, etc., há um certo risco envolvido.
Se o seu sistema for utilizado por terceiros, no caso de digitação errada no último caractere do edit, o usuário só vai perceber quando estiver no próximo controle, de acordo com a TabOrder, set focus ou a ordem de instanciação dos componentes. Alguns usuários vão achar extremamente ruim (e com razão, convenhamos) ter que voltar um campo para corrigir uma falha de digitação... Principalmente se já esqueceram que a combinação de teclas Shift + Tab retrocede um campo (isto é, inverte a ordem do TabOrder...).
Penso que em geral (em geral, repito), o uso da tecla Enter, funcionando como o Tab, pode facilitar, principalmente para quem já está acostumado a usar o Enter para mudar de linha, como nos editores de textos. (Isso sem falar nas máquinas de escrever manuais - lembra disso ? - que exigiam a manipulação de uma alavanca para mudar de linha...).
Neste Fórum, ative o Pesquisar e procure por ´Tab x Enter´, ´Enter´ e aparentados, que já foi muito comentado.
E observe que no mesmo formulário não deverá ter nenhum botão com a propriedade Default = True (se usar o Enter funcionando como Tab). E se quiser, pode eliminar também o beep a cada mudança de campo.

carlosrm :wink:


GOSTEI 0
Rounilo

Rounilo

08/01/2005

Carlos, obrigado por seus comentários.

SDS


GOSTEI 0
POSTAR