Поделиться через


Метод ITextRange::D elete (tom.h)

Имитирует клавиши DELETE и BACKSPACE с нажатием клавиши CTRL и без нее.

Синтаксис

HRESULT Delete(
  long Unit,
  long Count,
  long *pDelta
);

Параметры

Unit

Тип: long

Используемая единица измерения. Единицей может быть tomCharacter (значение по умолчанию) или tomWord.

Count

Тип: long

Количество удаляемых единиц. Если count= нуль, удаляется только текст в диапазоне. Если значение Count больше нуля, функция ITextRange::D elete действует так, как если бы клавиша DELETE была нажата . Если значение Count меньше нуля, оно действует так, как если бы клавиша BACKSPACE была нажата число раз. Значение по умолчанию — 1. Дополнительные сведения см. в разделе «Примечания».

pDelta

Тип: long*

Количество удаленных единиц. Может принимать значение NULL. Параметр pDelta задается равным количеству удаленных единиц измерения. Удаление текста в диапазоне, отличном от вырождения, считается одной единицей.

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

Тип: HRESULT

Этот метод возвращает значение HRESULT . В случае успешного выполнения возвращается S_OK. В противном случае возвращается одно из следующих значений. Дополнительные сведения о кодах ошибок COM см. в разделе Обработка ошибок в COM.

Код возврата Описание
E_ACCESSDENIED
Текст защищен от записи.
S_FALSE
Сбой по какой-либо другой причине.

Комментарии

Если count = ноль, этот метод удаляет текст в диапазоне, то есть ничего не удаляет, если диапазон является только точкой вставки.

Если значение Count не равно нулю, а диапазон является точкой вставки (то есть вырождения), | Число| (абсолютное значение Count) Единицыудаляются в логическом направлении, заданном знаком Count, где положительное значение — это направление к концу истории, а отрицательное значение — к началу истории.

Если значение Count не равно нулю и диапазон не является неразродным (содержит текст), текст в диапазоне удаляется (независимо от значений Единица и Число), тем самым создавая точку вставки. Затем | Число| - 1 Единицыудаляются в логическом направлении, заданном знаком Count.

Текст в диапазоне также можно удалить, назначив ему пустую строку (выполнение инструкции r = где are — это диапазон). Однако ITextRange::D elete не требует выделения BSTR.

Удаление знака конца абзаца приводит к особому поведению пользовательского интерфейса Microsoft Word. Особый интерес представляют четыре случая:

  • Если удалить только cr, но абзац содержит текст, то cr удаляется, а следующий абзац получает то же форматирование абзаца, что и текущий.
  • Если удалить cr, а также некоторые, но не все символы в следующем абзаце, символы, оставшиеся от текущего абзаца, получат форматирование следующего абзаца.
  • Если выбрать конец абзаца, но не весь абзац, cr не удаляется.
  • При удалении всего абзаца (от начала до cr) также удаляется (если это не последний cr в файле).

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header tom.h
DLL Msftedit.dll

См. также раздел

Основные понятия

ITextRange

Справочные материалы

Текстовая объектная модель