SetSelectionRange
Formularios, interacción, Unicode
Descripción
Establece el ancla y el cursor de la selección de edición del campo de formulario activo en la unidad de índice solicitada Las dos posiciones se ajustan de forma independiente, de modo que un ancla mayor que el cursor crea una selección invertida mientras las propiedades normalizadas
Las dos posiciones se acotan de forma independiente, así que un ancla mayor que el cursor crea una selección invertida mientras las propiedades normalizadas SelectionStart y SelectionLength permanecen ordenadas
Las unidades de punto de código y de clúster de grafemas siempre se resuelven a límites Unicode válidos y no pueden dividir un par sustituto, una secuencia combinante ni un clúster de emoji unidos
Declaración
function SetSelectionRange(AnchorIndex, CaretIndex: Integer;
IndexUnit: TPDFlibFormSelectionUnit): Integer;
Parámetros
| AnchorIndex | Borde fijo de la selección dirigida en IndexUnit, ajustado al valor editable |
|---|---|
| CaretIndex | Borde móvil de la selección dirigida en IndexUnit, ajustado al valor editable |
| IndexUnit | fsuUTF16CodeUnit, fsuUnicodeCodePoint o fsuGraphemeCluster |
Valor devuelto
Devuelve 1 cuando hay una edición activa y la selección se almacenó; en caso contrario, 0
Rendimiento
Las tablas de límites de puntos de código y grafemas se construyen de forma diferida para el valor de edición actual, se reutilizan en operaciones de selección posteriores y se invalidan con SetEditValue
Ejemplo
if Session.BeginEdit(FieldIndex) = 1 then
begin
Session.SetEditValue('A' + WideChar($D83D) + WideChar($DE00) + 'B');
Session.SetSelectionRange(1, 2, fsuUnicodeCodePoint);
end;