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

AnchorIndexFast kant af den rettede markering i IndexUnit, afgrænset til den redigerbare værdi
CaretIndexBevægelig kant af den rettede markering i IndexUnit, afgrænset til den redigerbare værdi
IndexUnitfsuUTF16CodeUnit, 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;

Se også

GetSelectionRange, TPDFlibFormSession