Flex / TextArea: вставка вкладок? - PullRequest
2 голосов
/ 27 марта 2009

У меня есть TextArea, которое я хочу использовать для ввода кода (xml). Как разрешить ввод вкладок (нажатие вкладки перемещает фокус на элемент управления nect)?

Ответы [ 2 ]

7 голосов
/ 27 марта 2009

Единственный способ сделать это - расширить TextArea и отловить его событие keyFocusChange, затем остановить событие и вставить вкладку. Вот пример:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*">

  <mx:Component className="MyTextArea">
    <mx:TextArea width="300" height="300">
      <mx:keyFocusChange>
        event.preventDefault();
        this.textField.replaceSelectedText("\t");
      </mx:keyFocusChange>
    </mx:TextArea>
  </mx:Component>

  <MyTextArea width="300" height="300"/>

  <mx:TextArea width="300" height="300"/>

</mx:Application>

Вы также можете разбить MyTextArea на отдельный файл класса. Но я положил все это в один файл, потому что его проще тестировать.

0 голосов
/ 07 ноября 2009

или

<mx:TextArea width="300" height="300" keyFocusChange="event.preventDefault();event.target.replaceSelectedText('\t');"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...