Flash Tab Порядок изменений - PullRequest
6 голосов
/ 29 мая 2009

Я пытаюсь добавить некоторую доступность для программ чтения с экрана в приложение Flash и сталкиваюсь с проблемой. Порядок табуляции через элементы устанавливается свойством tabIndex этих элементов. Сложность в том, что список вкладок, созданный из них, кажется постоянным, но содержимое приложения является динамическим (построен из XML, содержит всплывающие окна и диалоговые окна). Есть ли способ обновить / перестроить список вкладок? Я готов пойти на крайние меры и попробовать сумасшедшие хаки, чтобы сделать эту работу, поэтому любые предложения хороши.

Ответы [ 2 ]

4 голосов
/ 29 мая 2009

Вы можете редактировать значения tabIndex элементов в любое время, когда захотите

как установка их для childIndex

for (var i:int=0;i<container.numChildren;++i) {
    container.getChildAt(i).tabIndex = i; //=i or anything you want
}

у меня работает следующее

iButton1.tabIndex = 1;
iButton2.tabIndex = 2;
iButton3.tabIndex = 3;

iButton1.tabEnabled = true;
iButton2.tabEnabled = true;
iButton3.tabEnabled = true;

function fnClick (pME:MouseEvent):void {
    iButton1.tabIndex = 3;
    iButton2.tabIndex = 2;
    iButton3.tabIndex = 1;
}

iButton3.addEventListener(MouseEvent.CLICK, fnClick);

образец вы можете скачать здесь http://matrixoft.infunity.com/agents/calvin/flash/tab.rar

нажмите третью кнопку, и она изменит порядок вкладок. Вам может понадобиться «Control-> Disable сочетания клавиш», когда вы нажимаете Ctrl-Enter, чтобы проверить флаг

2 голосов
/ 11 декабря 2013

Я компилирую с помощью Flash Player 11.4. Переключение свойства tabEnabled в TextField - это хорошо, но я обнаружил, что оно не работает для SimpleButtons (они не включаются снова, когда для tabEnabled возвращается значение true). Для этого я использую это:

private function setPanelOneTabIndices()
{
    aButton1.tabIndex = 1;
    aButton2.tabIndex = 2;
    aButton3.tabIndex = 3;

    bButton1.tabIndex = 0;
    bButton2.tabIndex = 0;
    bButton3.tabIndex = 0;
}

private function setPanelTwoTabIndices()
{
    aButton1.tabIndex = 0;
    aButton2.tabIndex = 0;
    aButton3.tabIndex = 0;

    bButton1.tabIndex = 1;
    bButton2.tabIndex = 2;
    bButton3.tabIndex = 3;
}
...