Sim, funciona sim, agora to com um outro probleminha que é o seguinte:
Se eu tabulo com Enter de um componente qualquer para um TextArea o cursor
vai para o TextArea, porém para a 2ª linha já.... Ele pula uma linha. Abaixo
segue a rotina..



public class MyFocusManager
{
private var container:Container;
 public function MyFocusManager()
{
}

public function addFocusSequence(comps:Array, container:Container):void
{
for (var i:int = 0; i < comps.length; i++) {
(comps[i] as UIComponent).tabIndex = i+1;
}
this.container = container;
this.container.addEventListener(KeyboardEvent.KEY_DOWN, enterTab);
}
 private function enterTab(e:KeyboardEvent):void
{
if ((e.keyCode == 13)) {
     var objetoQueContemOFoco:String =
flash.utils.getQualifiedClassName(this.container.focusManager.getFocus());
        //TextArea NAO tabula com ENTER
        if(objetoQueContemOFoco.indexOf("TextArea") < 0) {

this.container.focusManager.moveFocus(FocusRequestDirection.FORWARD);
        }
}
}
}


Eu passo um array contendo os componentes do meu "form" e o container dele,
por exemplo um canvas...
A Tabulação está OK, a não ser pelo problema do TextArea. Alguma dica para
resolver tal problema?


PS: parte do metodo "enterTab" retirei do exemplo do Eduardo Kraus. Valeu
Eduardo por compartilhar conhecimento.


2010/4/7 Paullo Estevam <[email protected]>

> Amigo,
>
> experimente usar:
> this.focusManager.moveFocus(FocusRequestDirection.FORWARD);
>
> isso vai mover o focus para o próximo componente, na ordem da propriedade
> tabIndex de cada componente.
>
> 2010/4/6 Leonardo Ribeiro <[email protected]>
>
>> Pessoal,
>>
>> Tenho uma tela (acima um panel com botoes e abaixo um form com os
>> componentes) que o último componente do form é um DateField. Criei uma
>> função para tabular tanto com Enter como com Tab.
>> Segue abaixo
>>
>> public static function onEnterPressed(event:KeyboardEvent,
>> control:Object):void {
>> if (event.keyCode == Keyboard.ENTER || event.keyCode == Keyboard.TAB) {
>>        if (control is TextInput) {
>>        (control as TextInput).setFocus();
>>        } else if (control is ComboBox) {
>>        (control as ComboBox).setFocus();
>>        } else if (control is Button) {
>>        (control as Button).setFocus();
>>        } else if (control is DateField) {
>>        (control as DateField).setFocus();
>>        } else if (control is TextArea) {
>>        (control as TextArea).setFocus();
>>   }
>> }
>>
>>
>> O problema é que nessa tela (form) que tem um DateField como ultimo campo,
>> se eu pressiono Enter estando nesse componente ele vai para o
>> próximo componente (no caso um botão da barra de botões), porém se eu
>> pressiono Tab o foco vai para a barra de endereço do navegador.
>>
>> Alguém sabe o pq disso?
>>
>> Já debuguei e tanto com Enter como com Tab é executado o mesmo código da
>> função acima.
>>
>>
>> --
>> []'s
>> Leonardo
>>
>> Linux User #488650
>> Ubuntu User #27045
>> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
>>
>> --
>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>> Para enviar uma mensagem, envie um e-mail para [email protected]
>> Para sair da lista, envie um email em branco para
>> [email protected]
>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>
>
>
>
> --
> -----------------------------------------------
> Cel. 83 8790.1304
> [email protected]
> www.paulloestevam.com.br
>
>
>
>  --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para [email protected]
> Para sair da lista, envie um email em branco para
> [email protected]
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>



-- 
[]'s
Leonardo

Linux User #488650
Ubuntu User #27045
Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para 
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

To unsubscribe, reply using "remove me" as the subject.

Responder a