GetVisualCaretOrder
Biểu mẫu, tương tác, Unicode
Mô tả
Trả về mọi vị trí con trỏ cho chỉnh sửa đang hoạt động theo thứ tự vật lý từ trái sang phải sau khi phân giải các đoạn hai chiều Mỗi dòng được phân giải độc lập và mọi vị trí trả về đều căn vào một ranh giới cụm grapheme mở rộng Cùng một chỉ số logic có thể xuất hiện ở nhiều hơn một ô không kề nhau tại một ranh giới hỗn hợp chiều vì hai vị trí con trỏ trực quan là khác biệt về mặt vật lý Đơn vị chỉ số được yêu cầu chỉ thay đổi các chỉ số logic được báo và không thay đổi thứ tự hiển thị
Mỗi dòng được giải độc lập và mọi vị trí trả về nằm trên biên extended grapheme cluster
Cùng một chỉ số logic có thể xuất hiện ở nhiều hơn một slot không kề nhau tại biên hướng trộn vì hai vị trí caret hiển thị khác nhau về vật lý
Đơn vị chỉ số yêu cầu chỉ đổi các chỉ số logic được báo và không đổi thứ tự hiển thị
Khai báo
function GetVisualCaretOrder(
IndexUnit: TPDFlibFormSelectionUnit;
out CaretIndices: TPDFlibFormCaretIndices): Integer;
Tham số
| IndexUnit | fsuUTF16CodeUnit, fsuUnicodeCodePoint hoặc fsuGraphemeCluster |
|---|---|
| CaretIndices | Nhận các chỉ số con trỏ logic được sắp từ mép trái của văn bản hiển thị đến mép phải |
Giá trị trả về
Trả về số ô con trỏ hiển thị, hoặc số 0 khi không có chỉnh sửa nào hoạt động hoặc đơn vị chỉ số không hợp lệ
Hiệu năng
Các ranh giới grapheme và thứ tự hiển thị đã phân giải được cache cho giá trị chỉnh sửa và hướng hiện tại, với phép tìm kiếm nhị phân dùng để ánh xạ các ranh giới đoạn
Ví dụ
var
Carets: TPDFlibFormCaretIndices;
begin
if Session.GetVisualCaretOrder(fsuGraphemeCluster, Carets) > 0 then
FirstVisualCaret := Carets[0];
end;
Xem thêm
MoveVisualCaret, SetTextDirection, GetSelectionRange, TPDFlibFormSession