DeleteEditSelection
Формы, взаимодействие, история правок
Описание
Внутренний помощник TPDFlibFormSession, реализующий клавиши Backspace и Delete для DispatchInputEvent
При свернутом выделении он сначала выбирает одну соседнюю расширенную кластерную графему: кластер перед кареткой для Backspace и кластер после каретки для Delete
На соответствующей текстовой границе помощник сообщает об успехе, ничего не удаляя
Само удаление проходит через ApplySelectionEdit как fekReplaceSelection с пустой заменой, поэтому действие /K и OnTextEdit все еще могут наложить вето
При успехе позиции «до» новейшей записи истории переписываются на выделение, зафиксированное перед удалением, чтобы UndoEdit его восстановил; при неудаче восстанавливается исходное выделение
Объявление
function DeleteEditSelection(Backwards: Boolean): Integer;
Параметры
| Backwards | True удаляет к началу текста, как Backspace, False — к концу, как Delete |
|---|
Возвращаемое значение
Возвращает 1, когда кластер был выбран и удален либо курсор уже стоял на соответствующей границе, иначе 0, когда запрос был реентерабельным, правка не активна или транзакция замены получила вето
См. также
ApplySelectionEdit, DispatchInputEvent, UndoEdit, EnsureSelectionBoundaries, TPDFlibFormInputKey, TPDFlibFormSession