SetSelectionRange

Формы, взаимодействие, Unicode

Описание

Задает якорь и каретку выделения активной правки поля формы в запрошенной единице индекса

SelectionStart и SelectionLength остаются упорядоченными Единицы кодовых точек и графемных групп всегда разрешаются в допустимые границы Unicode и не могут разрезать суррогатную пару, сочетаемую последовательность или соединённую группу эмодзи

Единицы кодовых точек и кластеров графем всегда разрешаются в допустимые границы Unicode и не могут разделить суррогатную пару, комбинируемую последовательность или склеенный кластер эмодзи

Объявление

function SetSelectionRange(AnchorIndex, CaretIndex: Integer;
  IndexUnit: TPDFlibFormSelectionUnit): Integer;

Параметры

AnchorIndexНеподвижная граница направленного выделения в IndexUnit, ограничиваемая редактируемым значением
CaretIndexПодвижная граница направленного выделения в IndexUnit, ограничиваемая редактируемым значением
IndexUnitfsuUTF16CodeUnit, 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;

См. также

GetSelectionRange, TPDFlibFormSession