簡體   English   中英

如何在Flex TextArea中更改TAB字符的寬度?

[英]How to change width of TAB character in a Flex TextArea?

是否可以在Flex TextArea中更改插入TAB字符的寬度?

我正在捕獲FocusEvent.KEY_FOCUS_CHANGE事件,並在嵌入了嵌入式等寬字體的文本區域中手動插入"\\t" 默認情況下,TAB會顯示兩個半角等寬字符。我需要它們顯示五個等寬字符。

有關如何執行此操作的任何想法?

那這樣的東西呢?

<mx:Canvas>
    <mx:Script>
        [Bindable]
        public var myText:String;
    </mx:Script>
    <mx:TextArea id="textArea" text="{TabUtil.expand(myText)}" valueCommit="myText = TabUtil.contract(myText))" />
 </mx:Canvas>



  public class TabUtil
  {
       public static const SPACE:String = "     "; // Five spaces;
       public static function expand(text:String):String
       {
            return text.replace("\t",SPACE);
       }
       public static function contract(text:String):String
       {
            return text.replace(SPACE,"\t");
        }
   }

我忘記了replace的參數,但我認為這可能需要RegEx,在這種情況下,您需要對以上內容進行調整。 但是應該可以。

您正在尋找textFormat的tabStops屬性。 您可以設置每個選項卡放置位置的像素值。

var tf:TextFormat = new TextFormat(); tf.tabStops = [100, 200, 300, 400]; myTextArea.mx_internal::getTextField().defaultTextFormat = tf;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM