2011-05-31 64 views

回答

1
var textFormat:TextFormat = textField.getTextFormat(); 

textFormat.color = 0xFFFFFF // or whatever 

textField.setTextFormat(textFormat, textField.selectionBeginIndex, selectionEndIndex); 

這將改變顏色和幾乎任何你想要在選定的文本字段區域。請注意,我的代碼只是從我頭頂打出來的,所以你必須再次檢查拼寫等,但這將起作用。有關詳細請看這裏:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/TextField.html#setTextFormat()

就像一張紙條,閃文本字段是非常愚蠢的,當你在處理選擇指數。文本字段中的第一個和最後一個索引都讀爲-1。因此,如果您有從索引N到textField中文本末尾的文本選擇...您的setTextFormat參數將爲:(textFormat,N,-1),這將引發範圍錯誤。你需要做一些切肉刀工作來檢測這種情況並解決它。一種可能的解決方案可能是檢查selectionBeginIndex,然後檢查selectionEndIndex,檢查它們中的任何一個是否等於-1,如果是,則相應地採取行動。例如,如果selectionEndIndex爲-1,那麼您需要投射一個變量並將其設置爲textField.length - 1,以便您可以將該變量用作第二個參數,從而避免範圍錯誤。

1

如此簡單如下:

txtareaDisplay.setStyle("focusedTextSelectionColor", 0XFF0000); 

selectionChange事件TextArea。嘗試一下。

相關問題