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ố

IndexUnitfsuUTF16CodeUnit, fsuUnicodeCodePoint hoặc fsuGraphemeCluster
CaretIndicesNhậ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