SetSelectionRange
Formulaires, interaction, Unicode
Description
Définit l'ancre et le curseur de la sélection d'édition du champ de formulaire active dans l'unité d'index demandée Les deux positions sont bornées indépendamment, de sorte qu'une ancre supérieure au curseur crée une sélection inversée tandis que les propriétés normalisées
Les deux positions sont bornées indépendamment ; une ancre supérieure au curseur crée donc une sélection inversée tandis que les propriétés normalisées SelectionStart et SelectionLength restent ordonnées
Les unités de point de code et de groupe de graphèmes se résolvent toujours à des frontières Unicode valides et ne peuvent pas diviser une paire de substitution, une séquence combinante ni un groupe d'emoji liés
Déclaration
function SetSelectionRange(AnchorIndex, CaretIndex: Integer;
IndexUnit: TPDFlibFormSelectionUnit): Integer;
Paramètres
| AnchorIndex | Bord fixe de la sélection dirigée en IndexUnit, borné à la valeur éditable |
|---|---|
| CaretIndex | Bord mobile de la sélection dirigée en IndexUnit, borné à la valeur éditable |
| IndexUnit | fsuUTF16CodeUnit, fsuUnicodeCodePoint ou fsuGraphemeCluster |
Valeur de retour
Retourne 1 lorsqu'une édition est active et que la sélection est stockée, sinon 0
Performances
Les tables de frontières de points de code et de graphèmes sont construites paresseusement pour la valeur d'édition courante, réutilisées par les opérations de sélection ultérieures et invalidées par SetEditValue
Exemple
if Session.BeginEdit(FieldIndex) = 1 then
begin
Session.SetEditValue('A' + WideChar($D83D) + WideChar($DE00) + 'B');
Session.SetSelectionRange(1, 2, fsuUnicodeCodePoint);
end;