SetSelectionRange
Формы, взаимодействие, Unicode
Описание
Задает якорь и каретку выделения активной правки поля формы в запрошенной единице индекса
SelectionStart и SelectionLength остаются упорядоченными
Единицы кодовых точек и графемных групп всегда разрешаются в допустимые границы Unicode и не могут разрезать суррогатную пару, сочетаемую последовательность или соединённую группу эмодзи
Единицы кодовых точек и кластеров графем всегда разрешаются в допустимые границы Unicode и не могут разделить суррогатную пару, комбинируемую последовательность или склеенный кластер эмодзи
Объявление
function SetSelectionRange(AnchorIndex, CaretIndex: Integer;
IndexUnit: TPDFlibFormSelectionUnit): Integer;
Параметры
| AnchorIndex | Неподвижная граница направленного выделения в IndexUnit, ограничиваемая редактируемым значением |
|---|---|
| CaretIndex | Подвижная граница направленного выделения в IndexUnit, ограничиваемая редактируемым значением |
| IndexUnit | fsuUTF16CodeUnit, fsuUnicodeCodePoint или fsuGraphemeCluster |
Возвращаемое значение
Возвращает 1, когда правка активна и выделение сохранено, иначе 0
Производительность
Таблицы границ кодовых точек и графем лениво строятся для текущего значения правки, используются последующими операциями выделения и становятся недействительными при SetEditValue
Пример
if Session.BeginEdit(FieldIndex) = 1 then
begin
Session.SetEditValue('A' + WideChar($D83D) + WideChar($DE00) + 'B');
Session.SetSelectionRange(1, 2, fsuUnicodeCodePoint);
end;