Как остановить потерю форматирования (полужирный и т. Д.), Когда пользователь удаляет целую строку в элементе управления текстовым потоком Flex tlf - PullRequest
0 голосов
/ 06 июля 2011

Я использую текстовый макет текстового потока в Flex 3 для получения встроенных изображений. В поле редактирования приложения пользователь может применить форматирование. Это все работает нормально, за исключением случаев, когда пользователь удаляет весь введенный текст, а затем начинает вводить снова, а затем форматирование теряется.

Я использую

   //setup default formatting
   currentCF.fontWeight = FontWeight.NORMAL;
   _currentCF.fontStyle = FontPosture.NORMAL;
   _currentCF.textDecoration = TextDecoration.NONE;
   _currentCF.color = 0; //black 
   IEditManager(textFlow.interactionManager).applyLeafFormat(_currentCF);

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

Так как я могу помешать пользователю «удалить» форматирование, если они удаляют весь текст?

Спасибо, Найджел

1 Ответ

0 голосов
/ 07 июля 2011

OK.Не уверен, что происходит с элементами span, которые позволяют удалить форматирование.Но я обошел это, захватив ключи backspace \ delete и установив текущее форматирование в текстовом потоке, и это сработало.

protected function onKeyUp(event:KeyboardEvent):void
    {

        //check if backspacing or deleting
        if (event.keyCode == 8 || event.keyCode == 46)
        {
            //check if they have removed all text which can lose the formatting 
            if (textFlow.textLength == 1)
            {
                //apply the current formatting
                editMan.selectAll();
                IEditManager(textFlow.interactionManager).applyLeafFormat(_currentCF);
            }
        }


    }
...