SetSelectionRange
Biểu mẫu, tương tác, Unicode
Mô tả
Đặt điểm neo và con trỏ của vùng chọn trường biểu mẫu đang hoạt động theo đơn vị chỉ số được yêu cầu Hai vị trí bị giới hạn độc lập, nên một điểm neo lớn hơn con trỏ tạo một vùng chọn đảo chiều trong khi các thuộc tính
SelectionStart và SelectionLength chuẩn hóa vẫn có thứ tự
Các đơn vị điểm mã và cụm grapheme luôn suy ra biên Unicode hợp lệ và không thể chia một cặp surrogate, chuỗi kết hợp hay cụm emoji ghép
Đơn vị code point và grapheme cluster luôn quy về ranh giới Unicode hợp lệ và không thể chia đôi surrogate pair, chuỗi combining hay emoji cluster dính nhau
Khai báo
function SetSelectionRange(AnchorIndex, CaretIndex: Integer;
IndexUnit: TPDFlibFormSelectionUnit): Integer;
Tham số
| AnchorIndex | Mép cố định của vùng chọn có hướng theo IndexUnit, được giới hạn theo giá trị có thể chỉnh sửa |
|---|---|
| CaretIndex | Mép di động của vùng chọn có hướng theo IndexUnit, được giới hạn theo giá trị có thể chỉnh sửa |
| IndexUnit | fsuUTF16CodeUnit, fsuUnicodeCodePoint hoặc fsuGraphemeCluster |
Giá trị trả về
Trả về 1 khi có phiên chỉnh sửa đang hoạt động và vùng chọn đã được lưu, nếu không thì là 0
Hiệu năng
Các bảng biên điểm mã và grapheme được dựng lười cho giá trị chỉnh sửa hiện tại, được các thao tác vùng chọn sau tái dùng và bị vô hiệu hóa bởi SetEditValue
Ví dụ
if Session.BeginEdit(FieldIndex) = 1 then
begin
Session.SetEditValue('A' + WideChar($D83D) + WideChar($DE00) + 'B');
Session.SetSelectionRange(1, 2, fsuUnicodeCodePoint);
end;