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
| AnchorIndex | Fester Rand der gerichteten Auswahl in IndexUnit, begrenzt auf den editierbaren Wert |
|---|---|
| CaretIndex | Bewegter Rand der gerichteten Auswahl in IndexUnit, begrenzt auf den editierbaren Wert |
| IndexUnit | fsuUTF16CodeUnit, 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;