Saber qual é o próximo componete do TabOrder

Delphi

14/06/2004

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á.


Flaviosan

Flaviosan

Curtidas 0

Respostas

Aroldo Zanela

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.


GOSTEI 0
Flaviosan

Flaviosan

14/06/2004

Caro AZ, Minha duvida é em tempo de execução.


GOSTEI 0
Aroldo Zanela

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.


GOSTEI 0
Flaviosan

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


GOSTEI 0
Paulo_amorim

Paulo_amorim

14/06/2004

Olá

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

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.


GOSTEI 0
Flaviosan

Flaviosan

14/06/2004

up


GOSTEI 0
Xanatos

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:


GOSTEI 0
Flaviosan

Flaviosan

14/06/2004

Nossa! Santo Xanatos, eraissomesmoqueeuqueria.
Muito obrigado cara.


GOSTEI 0
POSTAR