SetSelectionRange
Moduli, interazione, Unicode
Descrizione
Imposta àncora e cursore della selezione della modifica attiva del campo modulo nell'unità di indice richiesta Le due posizioni vengono limitate indipendentemente, quindi un'àncora maggiore del cursore crea una selezione invertita mentre le proprietà normalizzate
Le due posizioni vengono limitate in modo indipendente, così un'ancora maggiore del caret crea una selezione invertita mentre le proprietà normalizzate SelectionStart e SelectionLength restano ordinate
Le unità di punto di codice e di cluster di grafemi si risolvono sempre a confini Unicode validi e non possono dividere una coppia surrogata, una sequenza combinante né un cluster di emoji uniti
Dichiarazione
function SetSelectionRange(AnchorIndex, CaretIndex: Integer;
IndexUnit: TPDFlibFormSelectionUnit): Integer;
Parametri
| AnchorIndex | Bordo fisso della selezione direzionale in IndexUnit, limitato al valore modificabile |
|---|---|
| CaretIndex | Bordo mobile della selezione direzionale in IndexUnit, limitato al valore modificabile |
| IndexUnit | fsuUTF16CodeUnit, fsuUnicodeCodePoint oppure fsuGraphemeCluster |
Valore restituito
Restituisce 1 quando una modifica è attiva e la selezione è memorizzata, altrimenti 0
Prestazioni
Le tabelle delle frontiere di punto di codice e di grafema vengono costruite in modo differito per il valore di modifica corrente, riutilizzate dalle successive operazioni di selezione e invalidate da SetEditValue
Esempio
if Session.BeginEdit(FieldIndex) = 1 then
begin
Session.SetEditValue('A' + WideChar($D83D) + WideChar($DE00) + 'B');
Session.SetSelectionRange(1, 2, fsuUnicodeCodePoint);
end;