適用於 Adobe® Flash® Platform 的 ActionScript® 3.0 參考
首頁  |  隱藏套件和類別清單 |  套件  |  類別  |  新增內容  |  索引  |  附錄  |  為什麼顯示英文?
篩選: 從伺服器擷取資料...
從伺服器擷取資料...
flashx.textLayout.edit 

ISelectionManager  - AS3

套件flashx.textLayout.edit
介面public interface ISelectionManager extends IInteractionEventHandler
實作者 SelectionManager

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

ISelectionManager 介面會定義處理文字選取範圍的介面。

SelectionManager 記錄選取的文字範圍,並處理 TextFlow 的事件。

選取範圍可以是點選取或範圍選取。點選取會插入點,並將實際繪製游標來表示。範圍選取包含錨點與作用點之間的文字。

相關 API 元素



公用屬性
 屬性定義自
  absoluteEnd : int
[唯讀] 選取範圍結尾的文字位置 (從文字流排開頭算起的偏移量)。
ISelectionManager
  absoluteStart : int
[唯讀] 選取範圍開頭的文字位置 (從文字流排開頭算起的偏移量)。
ISelectionManager
  activePosition : int
[唯讀] 選取範圍的作用點。
ISelectionManager
  anchorPosition : int
[唯讀] 選取範圍的錨點。
ISelectionManager
  currentSelectionFormat : SelectionFormat
[唯讀] 目前 SelectionFormat 物件。
ISelectionManager
  editingMode : String
[唯讀] 編輯模式。
ISelectionManager
  focused : Boolean
[唯讀] 指出文字流排中的容器是否具有焦點。
ISelectionManager
  focusedSelectionFormat : SelectionFormat
用來在具有焦點的容器中繪製選取範圍的 SelectionFormat 物件。
ISelectionManager
  inactiveSelectionFormat : SelectionFormat
當選取範圍不在作用中視窗時,用來繪製選取範圍的 SelectionFormat 物件。
ISelectionManager
  textFlow : flashx.textLayout.elements:TextFlow
此選取管理員所管理的 TextFlow 物件。
ISelectionManager
  unfocusedSelectionFormat : SelectionFormat
當選取範圍不在具有焦點的容器但在作用中視窗時,用來繪製選取範圍的SelectionFormat 物件。
ISelectionManager
  windowActive : Boolean
[唯讀] 指出與文字流排相關的視窗是否為作用中視窗。
ISelectionManager
公用方法
 方法定義自
 Inherited
處理 activate 事件。
IInteractionEventHandler
 Inherited
處理 deactivate 事件。
IInteractionEventHandler
 Inherited
處理 edit 事件。
IInteractionEventHandler
  
執行任何擱置 FlowOperation。
ISelectionManager
 Inherited
處理 focusChange 事件。
IInteractionEventHandler
 Inherited
處理 focusIn 事件。
IInteractionEventHandler
 Inherited
處理 focusOut 事件。
IInteractionEventHandler
  
取得指定文字範圍或目前選取範圍中所有字元都適用的字元格式特質。
ISelectionManager
  
取得指定文字範圍或目前選取範圍中所有容器都適用的容器格式特質。
ISelectionManager
  
取得指定文字範圍或目前選取範圍中所有段落都適用的段落格式特質。
ISelectionManager
  
取得目前選取範圍的 SelectionState 物件。
ISelectionManager
  
指出是否有選取範圍。
ISelectionManager
 Inherited
處理 imeStartComposition 事件
IInteractionEventHandler
  
指出選取範圍是否涵蓋某範圍的文字。
ISelectionManager
 Inherited
處理 keyDown 事件。
IInteractionEventHandler
 Inherited
處理 keyFocusChange 事件。
IInteractionEventHandler
 Inherited
處理 keyUp 事件。
IInteractionEventHandler
 Inherited
處理 menuSelect 事件。
IInteractionEventHandler
 Inherited
處理 mouseDoubleClick 事件。
IInteractionEventHandler
 Inherited
處理 mouseDown 事件。
IInteractionEventHandler
 Inherited
處理 mouseMove 事件。
IInteractionEventHandler
 Inherited
處理 mouseOut 事件。
IInteractionEventHandler
 Inherited
處理 mouseOver 事件。
IInteractionEventHandler
 Inherited
處理 mouseUp 事件。
IInteractionEventHandler
 Inherited
處理 mouseWheel 事件。
IInteractionEventHandler
  
notifyInsertOrDelete(absolutePosition:int, length:int):void
插入或刪除文字時,更新選取管理員。
ISelectionManager
  
重新顯示選取範圍形狀。
ISelectionManager
  
選取整個流排。
ISelectionManager
  
selectRange(anchorPosition:int, activePosition:int):void
選取一個文字範圍。
ISelectionManager
  
將焦點放在選取範圍的第一個容器。
ISelectionManager
  
設定目前選取範圍的 SelectionState 物件。
ISelectionManager
 Inherited
處理 softKeyboardActivating 事件
IInteractionEventHandler
 Inherited
處理 TextEvent。
IInteractionEventHandler
屬性詳細資訊

absoluteEnd

屬性
absoluteEnd:int  [唯讀]

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

選取範圍結尾的文字位置 (從文字流排開頭算起的偏移量)。

絕對結尾即為選取範圍的作用點或錨點,視哪一個較晚出現在文字流排而定。



實作
    public function get absoluteEnd():int

absoluteStart

屬性 
absoluteStart:int  [唯讀]

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

選取範圍開頭的文字位置 (從文字流排開頭算起的偏移量)。

絕對起點即為選取範圍的作用點或錨點,視哪一個先出現在文字流排而定。



實作
    public function get absoluteStart():int

activePosition

屬性 
activePosition:int  [唯讀]

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

選取範圍的作用點。

作用點是選取範圍的動態結尾。修改選取範圍時,作用點也會變更。作用點可以是選取範圍的起點或結尾。



實作
    public function get activePosition():int

anchorPosition

屬性 
anchorPosition:int  [唯讀]

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

選取範圍的錨點。

錨點是選取範圍的固定結尾。延伸選取範圍時,錨點並不會變更。錨點可以是選取範圍的起點或結尾。



實作
    public function get anchorPosition():int

currentSelectionFormat

屬性 
currentSelectionFormat:SelectionFormat  [唯讀]

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

目前 SelectionFormat 物件。

目前 SelectionFormat 物件是根據 windowActivefocused 屬性的目前狀態,從指定給 unfocusedSelectionFormatinactiveSelectionFormatfocusedSelectionFormat 屬性的 SelectionFormat 物件中選擇。



實作
    public function get currentSelectionFormat():SelectionFormat

editingMode

屬性 
editingMode:String  [唯讀]

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

編輯模式。

編輯模式指出文字流排支援選取、編輯還是只能讀取。指定選取管理員即可選取文字流排,而指定編輯管理員即可編輯文字流排。代表編輯模式的常數定義於 EditingMode 類別中。



實作
    public function get editingMode():String

相關 API 元素

flashx.textLayout.EditingMode

focused

屬性 
focused:Boolean  [唯讀]

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

指出文字流排中的容器是否具有焦點。

如果文字流排中的任一容器具有主要焦點,則 focused 屬性是 true



實作
    public function get focused():Boolean

focusedSelectionFormat

屬性 
focusedSelectionFormat:SelectionFormat

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

用來在具有焦點的容器中繪製選取範圍的 SelectionFormat 物件。



實作
    public function get focusedSelectionFormat():SelectionFormat
    public function set focusedSelectionFormat(value:SelectionFormat):void

inactiveSelectionFormat

屬性 
inactiveSelectionFormat:SelectionFormat

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

當選取範圍不在作用中視窗時,用來繪製選取範圍的 SelectionFormat 物件。



實作
    public function get inactiveSelectionFormat():SelectionFormat
    public function set inactiveSelectionFormat(value:SelectionFormat):void

textFlow

屬性 
textFlow:flashx.textLayout.elements:TextFlow

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

此選取管理員所管理的 TextFlow 物件。

選取管理員可管理單一文字流排。藉由設定 TextFlow 物件的 interactionManager 屬性,您也可以將選取管理員指定給文字流排。



實作
    public function get textFlow():flashx.textLayout.elements:TextFlow
    public function set textFlow(value:flashx.textLayout.elements:TextFlow):void

相關 API 元素

unfocusedSelectionFormat

屬性 
unfocusedSelectionFormat:SelectionFormat

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

當選取範圍不在具有焦點的容器但在作用中視窗時,用來繪製選取範圍的SelectionFormat 物件。



實作
    public function get unfocusedSelectionFormat():SelectionFormat
    public function set unfocusedSelectionFormat(value:SelectionFormat):void

windowActive

屬性 
windowActive:Boolean  [唯讀]

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

指出與文字流排相關的視窗是否為作用中視窗。

如果顯示文字流排的視窗是作用中視窗,則 windowActive 屬性是 true



實作
    public function get windowActive():Boolean
方法詳細資訊

flushPendingOperations

()方法
public function flushPendingOperations():void

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

執行任何擱置 FlowOperation。

部分編輯作業的執行 (如文字插入) 會延遲到下一個 enterFrame 事件時才進行。呼叫 flushPendingOperations() 會立即執行任何延遲的作業。

getCommonCharacterFormat

()方法 
public function getCommonCharacterFormat(range:flashx.textLayout.elements:TextRange = null):flashx.textLayout.formats:TextLayoutFormat

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

取得指定文字範圍或目前選取範圍中所有字元都適用的字元格式特質。

在傳回的 TextLayoutFormat 實體中,會將指定元素範圍或選取範圍中所有字元都沒有相同值的格式特質設為 null

參數

range:flashx.textLayout.elements:TextRange (default = null) — 要求一般特質的文字選擇性範圍。若為 null,則使用目前選項。

傳回值
flashx.textLayout.formats:TextLayoutFormat — 一般字元樣式設定

範例  ( 如何使用本範例 )

以下範例會說明如何取得一個內含選取範圍中所有元素通用之字元樣式設定的 ITextLayoutFormat 物件。 (範例中的 textFlow 變數是一個 TextFlow 物件)。
 var common:ITextLayoutFormat = textFlow.interactionManager.getCommonCharacterFormat();

getCommonContainerFormat

()方法 
public function getCommonContainerFormat(range:flashx.textLayout.elements:TextRange = null):flashx.textLayout.formats:TextLayoutFormat

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

取得指定文字範圍或目前選取範圍中所有容器都適用的容器格式特質。

在傳回的 TextLayoutFormat 實體中,會將指定元素範圍或選取範圍中所有容器都沒有相同值的格式特質設為 null

參數

range:flashx.textLayout.elements:TextRange (default = null) — 要求一般特質的文字選擇性範圍。若為 null,則使用目前選項。

傳回值
flashx.textLayout.formats:TextLayoutFormat — 一般容器樣式設定

範例  ( 如何使用本範例 )

以下範例會說明如何取得一個內含選取範圍中所有元素通用之容器樣式設定的 ITextLayoutFormat 物件。 (範例中的 textFlow 變數是一個 TextFlow 物件)。
 var common:ITextLayoutFormat = textFlow.interactionManager.getCommonContainerFormat();

getCommonParagraphFormat

()方法 
public function getCommonParagraphFormat(range:flashx.textLayout.elements:TextRange = null):flashx.textLayout.formats:TextLayoutFormat

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

取得指定文字範圍或目前選取範圍中所有段落都適用的段落格式特質。

在傳回的 TextLayoutFormat 實體中,會將指定元素範圍或選取範圍中所有段落都沒有相同值的格式特質設為 null

參數

range:flashx.textLayout.elements:TextRange (default = null) — 要求一般特質的文字選擇性範圍。若為 null,則使用目前選項。

傳回值
flashx.textLayout.formats:TextLayoutFormat — 一般段落樣式設定

範例  ( 如何使用本範例 )

以下範例會說明如何取得一個內含選取範圍中所有元素通用之段落樣式設定的 ITextLayoutFormat 物件。 (範例中的 textFlow 變數是一個 TextFlow 物件)。
 var common:ITextLayoutFormat = textFlow.interactionManager.getCommonParagraphFormat();

getSelectionState

()方法 
public function getSelectionState():SelectionState

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

取得目前選取範圍的 SelectionState 物件。

傳回值
SelectionState

相關 API 元素


範例  ( 如何使用本範例 )

以下範例會為文字方向的目前選取範圍,取得一個 SelectionState 物件。(範例中的 textFlow 變數是一個 TextFlow 物件)。
 var selection:SelectionState = textFlow.interactionManager.getSelectionState();

hasSelection

()方法 
public function hasSelection():Boolean

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

指出是否有選取範圍。

如果有範圍選取或點選取,則傳回 true。最初設定選取管理員時,預設不會有選取範圍 (開始及結尾是 -1)。

傳回值
Boolean

範例  ( 如何使用本範例 )

以下範例會說明如何判斷文字方向是否有一個選取範圍。(範例中的 textFlow 變數是一個 TextFlow 物件)。
 var selection:SelectionState = textFlow.interactionManager.hasSelection();

isRangeSelection

()方法 
public function isRangeSelection():Boolean

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

指出選取範圍是否涵蓋某範圍的文字。

如果選取範圍延伸超過單一位置,則傳回 true

傳回值
Boolean

範例  ( 如何使用本範例 )

以下範例會說明如何判斷文字方向中的目前選取範圍是否超過文字的範圍。(範例中的 textFlow 變數是一個 TextFlow 物件)。
 var selection:SelectionState = textFlow.interactionManager.isRangeSelection();

notifyInsertOrDelete

()方法 
public function notifyInsertOrDelete(absolutePosition:int, length:int):void

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

插入或刪除文字時,更新選取管理員。

變更文字流排中的文字時,作業必須呼叫 notifyInsertOrDelete。選取管理員會依此調整索引型位置指示器。如果您建立新的 Operation 類別以直接變更文字流排中的文字 (不使用另一個作業),則您的作業必須呼叫此函數,才能維持最新的選取範圍。

參數

absolutePosition:int — 文字中進行變更的位置點。
 
length:int — 可為正數或負數,表示要插入或刪除的字元數。


範例  ( 如何使用本範例 )

以下範例會說明在自訂 Operation 類別中的函數呼叫 notifyInsertOrDelete() 方法的方式。

這個函數會取得 SpanElement的文字範圍,這是某些假設性作業的一部分。

 import flashx.textLayout.elements.SpanElement;
 

function doReplace( span:SpanElement, newText:String, relativeStart:int, relativeEnd:int ):void
{
    span.replaceText(  relativeStart, relativeEnd, newText );
    var parentFlow:TextFlow = span.getTextFlow();
    var lengthDifference:int = newText.length - (relativeEnd - relativeStart);

    parentFlow.interactionManager.notifyInsertOrDelete(    span.getAbsoluteStart() + relativeStart, lengthDifference );
}

refreshSelection

()方法 
public function refreshSelection():void

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

重新顯示選取範圍形狀。

注意:您不需要直接呼叫此方法。一般會自動進行呼叫。

selectAll

()方法 
public function selectAll():void

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

選取整個流排。

selectRange

()方法 
public function selectRange(anchorPosition:int, activePosition:int):void

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

選取一個文字範圍。

如果將負數傳遞為任一參數,則會移除任何現有選取範圍。

參數

anchorPosition:int — 新選取範圍的錨點 (為 TextFlow 中的絕對位置)
 
activePosition:int — 新選取範圍的作用結尾 (為 TextFlow 中的絕對位置)


範例  ( 如何使用本範例 )

以下範例會建立文字方向並做出選擇:
 var textFlow:TextFlow = TextConverter.importToFlow( "Let me not to the marriage of true minds", TextConverter.PLAIN_TEXT_FORMAT );
 textFlow.interactionManager = new SelectionManager();
 
 textFlow.interactionManager.selectRange( 18, 26 ); // Selects the word 'marriage'

setFocus

()方法 
public function setFocus():void

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

將焦點放在選取範圍的第一個容器。


範例  ( 如何使用本範例 )

以下範例會將焦點設為文字流向的目前選取範圍的第一個容器。(範例中的 textFlow 變數是一個 TextFlow 物件)。
 textFlow.interactionManager.setFocus();

setSelectionState

()方法 
public function setSelectionState(state:SelectionState):void

語言版本: ActionScript 3.0
執行階段版本: Flash Player 10, AIR 1.5

設定目前選取範圍的 SelectionState 物件。

參數

state:SelectionState

相關 API 元素





[ X ]為什麼顯示英文?
「ActionScript 3.0 參考」的內容是以英文顯示

並非所有「ActionScript 3.0 參考」的內容都翻譯為所有語言。當語言元素未翻譯時,就會以英文顯示。例如,ga.controls.HelpBox 類別並沒有翻譯為任何語言。因此在參考的繁體中文版本中,ga.controls.HelpBox 類別就會以英文顯示。