SetSelectionRange

Formulare, Interaktion, Unicode

Beschreibung

Setzt Anker und Einfügemarke der aktiven Formularfeld-Bearbeitungsauswahl in der angeforderten Indexeinheit Die beiden Positionen werden unabhängig begrenzt, sodass ein Anker größer als die Einfügemarke eine umgekehrte Auswahl erzeugt, während die normalisierten Eigenschaften

Die beiden Positionen werden unabhängig begrenzt, sodass ein Anker größer als der Caret eine umgekehrte Auswahl erzeugt, während die normalisierten Eigenschaften SelectionStart und SelectionLength geordnet bleiben

Codepunkt- und Graphemhaufen-Einheiten lösen immer zu gültigen Unicode-Grenzen auf und können ein Surrogatpaar, eine kombinierende Sequenz oder einen verbundenen Emoji-Haufen nicht teilen

Deklaration

function SetSelectionRange(AnchorIndex, CaretIndex: Integer;
  IndexUnit: TPDFlibFormSelectionUnit): Integer;

Parameter

AnchorIndexFester Rand der gerichteten Auswahl in IndexUnit, begrenzt auf den editierbaren Wert
CaretIndexBewegter Rand der gerichteten Auswahl in IndexUnit, begrenzt auf den editierbaren Wert
IndexUnitfsuUTF16CodeUnit, fsuUnicodeCodePoint oder fsuGraphemeCluster

Rückgabewert

Gibt 1 zurück, wenn eine Bearbeitung aktiv ist und die Auswahl gespeichert wurde, sonst 0

Performance

Codepunkt- und Graphem-Grenztabellen werden für den aktuellen Bearbeitungswert träge aufgebaut, von späteren Auswahl-Operationen wiederverwendet und durch SetEditValue ungültig gemacht

Beispiel

if Session.BeginEdit(FieldIndex) = 1 then
begin
  Session.SetEditValue('A' + WideChar($D83D) + WideChar($DE00) + 'B');
  Session.SetSelectionRange(1, 2, fsuUnicodeCodePoint);
end;

Siehe auch

GetSelectionRange, TPDFlibFormSession