SetSelectionRange
Formularer, interaktion, Unicode
Beskrivelse
Sætter anker og tekstmarkør for den aktive formularfeltredigerings markering i den ønskede indeksenhed De to positioner afgrænses uafhængigt, så et anker større end tekstmarkøren opretter en omvendt markering, mens egenskaberne
SelectionStart og SelectionLength forbliver ordnede
Kodepunkt- og grafemklynge-enheder opløses altid til gyldige Unicode-grænser og kan ikke dele et surrogatpar, en kombinerende tegnsekvens eller en forbundet emoji-klynge
Deklaration
function SetSelectionRange(AnchorIndex, CaretIndex: Integer;
IndexUnit: TPDFlibFormSelectionUnit): Integer;
Parametre
| AnchorIndex | Fast kant af den rettede markering i IndexUnit, afgrænset til den redigerbare værdi |
|---|---|
| CaretIndex | Bevægelig kant af den rettede markering i IndexUnit, afgrænset til den redigerbare værdi |
| IndexUnit | fsuUTF16CodeUnit, fsuUnicodeCodePoint eller fsuGraphemeCluster |
Returværdi
Returnerer 1, når en redigering er aktiv, og markeringen er gemt, ellers 0
Ydeevne
Kodepunkt- og grafemgrænselandstavler bygges dovent for den aktuelle redigeringsværdi, genbruges af senere markeringshandlinger og ugyldiggøres af SetEditValue
Eksempel
if Session.BeginEdit(FieldIndex) = 1 then
begin
Session.SetEditValue('A' + WideChar($D83D) + WideChar($DE00) + 'B');
Session.SetSelectionRange(1, 2, fsuUnicodeCodePoint);
end;