указатель вкладки на флеш-ролике в flex - PullRequest
0 голосов
/ 30 декабря 2010

У меня есть форма, которая появляется в flex, это мувиклип, содержащийся в UIComponent.В этом мувиклипе находятся поля формы.

Почему-то я не могу заставить работать кнопку вкладки, чтобы можно было перемещаться между полями.Я настраивал каждое поле с помощью tabindex, но это не работает.

Есть ли что-нибудь еще, что мне нужно сделать, кроме этого?Это в основном весь код, который я использую:

email.tabIndex = 1;city.tabIndex = 2;firstName.tabIndex = 3;

и т. д.

Это не работает из-за flex?И если да, то что такое обходной путь?

1 Ответ

0 голосов
/ 30 декабря 2010

вы пытались добавить новый экземпляр FocusManager в UIComponent, который содержит мувиклип? Я не уверен, но возможно.

Также еще одна вещь, о которой я могу подумать, это свойство tabEnabled элементов формы и содержащих объектов.

Надеюсь, это приблизит тебя.

Удачи, Rob

////////// ОБНОВЛЕНИЕ /////////////// К сожалению, я не смог заставить его работать, но я отправил вам свой код, может быть, вы можете что-то с этим сделать.

Я пытался добавить мувиклип и текстовые поля в него, но это тоже самое, TAB вообще нет. Поэтому я просто добавил текстовые поля в UIComponent и установил для всех возможных свойств, связанных с вкладками и фокусом, значение true - не повезло: (.

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark"
               xmlns:mx="library://ns.adobe.com/flex/mx">

    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>

    <fx:Script>
        <![CDATA[
        import mx.core.UIComponent;
            import flash.display.MovieClip;
            import flash.text.TextField;

            protected function init(event:Event):void
            {                                                               
                var i:uint = 0;
                var l:uint = 4;
                while (i < l)
                {
                    var tf:TextField = new TextField();
                    tf.name = "tf_" + i;
                    tf.width = 200;
                    tf.height = 21;
                    tf.border = true;
                    tf.type = "input";
                    tf.tabIndex = i;
                    tf.tabEnabled = true;
                    tf.text = "tabIndex = " + String(tf.tabIndex);
                    tf.x = 50;
                    tf.y = tf.height * i + 10 * i + 100;
                    uicomp.addChild(tf);
                    ++i;
                }
            };
        ]]>
    </fx:Script>

    <mx:UIComponent hasFocusableChildren="true" tabChildren="true" tabEnabled="true" tabFocusEnabled="true" id="uicomp" width="100%" height="100%" addedToStage="init(event);" />

</s:Application>

Извините, это все, что я мог сделать на данный момент. Если вы получите ответ, пожалуйста, дайте мне знать, я заинтересован.

Cheers, Rob

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...