Saber qual é o próximo componete do TabOrder
Olá Pessoal, como vai essa força?
Preciso da ajuda de vcs. No evento OnExit de um edit, eu preciso saber qual vai ser o próximo componente do TabOrder, ou, saber se o TabOrder esta se deslocando pra cima ou pra baixo na lista.
Eu tentei o FindNextControl, mas estou com dificudades (não retorna o que eu quero). Se alguem sabe usa-lo, me de uma mão.
Agradeço desde de já.
Preciso da ajuda de vcs. No evento OnExit de um edit, eu preciso saber qual vai ser o próximo componente do TabOrder, ou, saber se o TabOrder esta se deslocando pra cima ou pra baixo na lista.
Eu tentei o FindNextControl, mas estou com dificudades (não retorna o que eu quero). Se alguem sabe usa-lo, me de uma mão.
Agradeço desde de já.
Flaviosan
Curtidas 0
Respostas
Aroldo Zanela
14/06/2004
Colega,
Não sei se entendi, mas basta pressionar o botão direito do mouse sobre o form (popup menu), selecionar TabOrder para verificar e alterar se necessário.
Não sei se entendi, mas basta pressionar o botão direito do mouse sobre o form (popup menu), selecionar TabOrder para verificar e alterar se necessário.
GOSTEI 0
Flaviosan
14/06/2004
Caro AZ, Minha duvida é em tempo de execução.
GOSTEI 0
Aroldo Zanela
14/06/2004
Colega,
Para obter a lista de tab order, tem o método: GetTabOrderList(TList). Mas não sei se é o que está procurando.
Para obter a lista de tab order, tem o método: GetTabOrderList(TList). Mas não sei se é o que está procurando.
GOSTEI 0
Flaviosan
14/06/2004
Vou dar um exemplo:
Tenho um form com tres edits, o 1º armazena uma data, o 2º armazena o codigo do cliente, e o terceiro o codigo do vendedor. Inicio o sistema com o foco no 1º edit. Digito uma data qualquer e vou para o 2º edit. Agora a minha duvida: não posso deixar que sem digitar nada no 2º edit, o foco seja passado para o 3º edit. Mas posso passar o foco para o 1º edit. O que eu preciso saber se o foco esta indo para cima ou para baixo do taborder. Espero ter explicado melhor desta vez.
Obrigado
Tenho um form com tres edits, o 1º armazena uma data, o 2º armazena o codigo do cliente, e o terceiro o codigo do vendedor. Inicio o sistema com o foco no 1º edit. Digito uma data qualquer e vou para o 2º edit. Agora a minha duvida: não posso deixar que sem digitar nada no 2º edit, o foco seja passado para o 3º edit. Mas posso passar o foco para o 1º edit. O que eu preciso saber se o foco esta indo para cima ou para baixo do taborder. Espero ter explicado melhor desta vez.
Obrigado
GOSTEI 0
Paulo_amorim
14/06/2004
Olá
Se o caso é esse, não compensa vc usar if´s?
Espero que ajude
Até+
Se o caso é esse, não compensa vc usar if´s?
if edit2.Text = ´´ then begin if edit3.Focused then ShowMessage(´Passou pro edit3 sem preencher o edit2´); end;
Espero que ajude
Até+
GOSTEI 0
Flaviosan
14/06/2004
Caro Paulo, valeu pela ajuda, mas não posso deixar o foco sair do 2º edit.
O que eu quero fazer pode ser resolvido pela função FindNextControl, Mas não entendi direito como se usa. Com ela no evento onexit de um edit consigo saber qual é o proximo componente da taborder, sem sair do edit atual. Como disse, não entendi como se usa, o help do delphi que é sempre uma grande ajuda, esta meio incompleto nesta função. Se voce ou alguem sabe como usa-la, me dê uma mão, please.
Agradeço novamente.
O que eu quero fazer pode ser resolvido pela função FindNextControl, Mas não entendi direito como se usa. Com ela no evento onexit de um edit consigo saber qual é o proximo componente da taborder, sem sair do edit atual. Como disse, não entendi como se usa, o help do delphi que é sempre uma grande ajuda, esta meio incompleto nesta função. Se voce ou alguem sabe como usa-la, me dê uma mão, please.
Agradeço novamente.
GOSTEI 0
Flaviosan
14/06/2004
up
GOSTEI 0
Xanatos
14/06/2004
flaviosan o que voce precisa nao é do FindNExtControl !! eu olhei o help e vi como ele funciona e nao vai adiantar! ele via retorna o proximo ou o
anterior a partir do componente que voce usar
if FindNextControl(Edit2,true,true,false) = Edit3 then
// Ele retorna Edit3 independente de onde vai o focus!!!
O que voce quer pelo que entendi é GetFocus
No Evento OnExit do Edit2 coloque:
if GetFocus = Edit3.Handle then
Showmessage(´Indo pra Frente!´);
if GetFocus = Edit1.Handle then
Showmessage(´Indo pra traz!´);
E isso deve funcionar!!! :idea:
anterior a partir do componente que voce usar
if FindNextControl(Edit2,true,true,false) = Edit3 then
// Ele retorna Edit3 independente de onde vai o focus!!!
O que voce quer pelo que entendi é GetFocus
No Evento OnExit do Edit2 coloque:
if GetFocus = Edit3.Handle then
Showmessage(´Indo pra Frente!´);
if GetFocus = Edit1.Handle then
Showmessage(´Indo pra traz!´);
E isso deve funcionar!!! :idea:
GOSTEI 0
Flaviosan
14/06/2004
Nossa! Santo Xanatos, eraissomesmoqueeuqueria.
Muito obrigado cara.
Muito obrigado cara.
GOSTEI 0