GetVisualCaretOrder
表單、互動、Unicode
描述
解析雙向 run 後,以實體由左至右順序傳回作用中編輯的每個游標位置
每行獨立解析,每個傳回位置都對齊擴展字位叢集邊界
在混合方向邊界上,同一邏輯索引可能出現在多個不相鄰的槽,因為兩個視覺游標位置在實體上是不同的
所請求的索引單位只改變回報的邏輯索引,不改變視覺順序
宣告
function GetVisualCaretOrder(
IndexUnit: TPDFlibFormSelectionUnit;
out CaretIndices: TPDFlibFormCaretIndices): Integer;
參數
| IndexUnit | fsuUTF16CodeUnit、fsuUnicodeCodePoint 或 fsuGraphemeCluster |
|---|---|
| CaretIndices | 接收從視覺文字左緣到右緣排序的邏輯插入點索引 |
傳回值
傳回視覺插入點槽位數;沒有作用中的編輯或索引單位無效時為零
效能
字素邊界與解析後的視覺順序會為目前的編輯值與方向快取,並使用二分搜尋對應執行段邊界
範例
var
Carets: TPDFlibFormCaretIndices;
begin
if Session.GetVisualCaretOrder(fsuGraphemeCluster, Carets) > 0 then
FirstVisualCaret := Carets[0];
end;
另請參閱
MoveVisualCaret, SetTextDirection, GetSelectionRange, TPDFlibFormSession