DeleteEditSelection

Формы, взаимодействие, история правок

Описание

Внутренний помощник TPDFlibFormSession, реализующий клавиши Backspace и Delete для DispatchInputEvent

При свернутом выделении он сначала выбирает одну соседнюю расширенную кластерную графему: кластер перед кареткой для Backspace и кластер после каретки для Delete

На соответствующей текстовой границе помощник сообщает об успехе, ничего не удаляя

Само удаление проходит через ApplySelectionEdit как fekReplaceSelection с пустой заменой, поэтому действие /K и OnTextEdit все еще могут наложить вето

При успехе позиции «до» новейшей записи истории переписываются на выделение, зафиксированное перед удалением, чтобы UndoEdit его восстановил; при неудаче восстанавливается исходное выделение

Объявление

function DeleteEditSelection(Backwards: Boolean): Integer;

Параметры

BackwardsTrue удаляет к началу текста, как Backspace, False — к концу, как Delete

Возвращаемое значение

Возвращает 1, когда кластер был выбран и удален либо курсор уже стоял на соответствующей границе, иначе 0, когда запрос был реентерабельным, правка не активна или транзакция замены получила вето

См. также

ApplySelectionEdit, DispatchInputEvent, UndoEdit, EnsureSelectionBoundaries, TPDFlibFormInputKey, TPDFlibFormSession