Flex Spark TextArea insertText разбивает буфер отмены - PullRequest
1 голос
/ 09 июня 2011

У меня есть простая TextArea

<s:TextArea id="taData" keyUp="keyListener(event)" focusEnabled="false" fontFamily="Courier New" fontSize="12" left="10" right="10" top="40" bottom="10"/>

keyListener позволяет использовать вкладку следующим образом

private function keyListener(event:KeyboardEvent):void
{
    if (event.keyCode == Keyboard.TAB)
    {
        event.currentTarget..insertText("\t");
    }
}

Все работает как положено, но буфер отмены сбрасывается / останавливается в тот момент, когда была вставлена ​​вкладка.

Есть ли способ гарантировать, что буфер отмены остается в такте даже при вставленной вкладке

1 Ответ

2 голосов
/ 09 июня 2011

Если все, что вы хотите сделать, это вставить вкладку в текст, когда пользователь нажимает клавишу табуляции, есть лучший способ сделать это (и я надеюсь, что это решит вашу проблему отмены одновременно).

Вам нужно будет получить доступ к модели TextArea - объекту TextFlow - и изменить его конфигурацию.Класс textflow Configuration имеет свойство с именем ' manageTabKey ', которое по умолчанию имеет значение false.Если вы установите «true», это будет делать то, что, я думаю, вы пытаетесь сделать для вас, то есть, когда пользователь нажимает клавишу табуляции, вставьте символ табуляции вместо того, чтобы фокусировать внимание на следующем фокусируемом элементе.

var textFlow:TextFlow = taData.textFlow;
var config:Configuration = Configuration(textFlow.configuration);
config.manageTabKey = true;

Приведение к конфигурации необходимо, поскольку textFlow.configuration возвращает интерфейс IConfiguration, у которого нет метода установки для manageTabKey.

Кроме того, вы даже можете установить ширину вкладок, используя ' tabStops 'свойство.

textFlow.tabStops = "25 50 75 100";

РЕДАКТИРОВАТЬ: Я только что заметил, что для' focusEnabled 'установлено значение false.Это также больше не потребуется.

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