• 文本编辑器制作(3):TextArea方案


    TextArea方案,相对这个在Flex里的项目使用比较简单。

    相比在Flex里使用As3动态的TextField 需要

    “在TextField的FocusEvent.FOCUS_IN事件侦听中加入:flash.system.IME.enabled=true;”

    更省心了。你压根就不用去理会什么字体嵌入的。省心省力。

     

    不过让人头疼的事情来了

    ●如何获得TextArea里的htmlText?
    如何给TextArea设置htmlText?

    如何设置选中的字段的样式?

    ●获取TextArea的所选内容

      在TextArea的focusIn事件里加入

         _currentTextFlow=_inputTextArea.textFlow;//让TextArea的textFlow来侦听选取事件
         _currentTextFlow.addEventListener(SelectionEvent.SELECTION_CHANGE, listenerSelectionChange);
     
       private function listenerSelectionChange(event:SelectionEvent):void
       {
        // 查找范围选定元素
        var range:ElementRange = event.selectionState ? 
        ElementRange.createElementRange(event.selectionState.textFlow,
        event.selectionState.absoluteStart, event.selectionState.absoluteEnd) : null;
        _intSelectionStart = range.absoluteStart;//起始索引
        _intSelectionEnd = range.absoluteEnd;//结束索引
       }

    笔者遇到这个问题的时候,先是把Flex的所有的Text相关的组件都尼玛拖到舞台了。

    发现TextArea TextInput都没有htmlText属性啊。所以就使用了方案1啊。

    后来参阅了前人的代码,发现可以使用TextFlow来搞定

    给TextArea设置字体fontFamily

                         字号fontSize

                         颜色color

     

    private function setFontFomate(e:Event):void
    {
      var styleObj:TextLayoutFormat = new TextLayoutFormat();
      styleObj.fontFamily=fontList.selectedItem.label;
      _txtInput.setFormatOfRange(styleObj);
    }


     

  • 相关阅读:
    Oracle游标举例
    java程序写的模拟用户点击的程序(抢小米程序)
    最好的ASP.NET MVC入门 step by step 来自微软
    项目经理
    程序员的职场晋升之路
    程序员怎么样才能进入微软?
    浅谈程序员创业
    软件销售心得-送给自己卖软件的程序员
    lamda表达式,匿名函数
    为什么Flash没能在移动设备上挺住?
  • 原文地址:https://www.cnblogs.com/naiking/p/2729976.html
Copyright © 2020-2023  润新知