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


Метод ITextSelection::MoveLeft (tom.h)

Обобщает функциональные возможности клавиши СТРЕЛКА ВЛЕВО.

Синтаксис

HRESULT MoveLeft(
  long Unit,
  long Count,
  long Extend,
  long *pDelta
);

Параметры

Unit

Тип: long

Используемая единица измерения. Это может быть один из следующих вариантов.

Значение Соответствующая комбинация клавиш Значение
tomCharacter СТРЕЛКА ВЛЕВО Переместить одну позицию символа влево. Это значение по умолчанию.
tomWord Ctrl+СТРЕЛКА ВЛЕВО Переместите одно слово влево.
 

Примечание. Если значение count меньше нуля, перемещение выполняется вправо.

Count

Тип: long

Число единиц для перемещения. Значение по умолчанию — 1. Если значение Count меньше нуля, перемещение будет вправо.

Extend

Тип: long

Флаг, указывающий, как изменить выделенный фрагмент. Если аргумент Extend равен нулю (или tomMove), метод сворачивает выделение до точки вставки в активном конце, а затем перемещает его. Если параметр Extend имеет значение 1 (или tomExtend), метод перемещает активный конец и оставляет другой конец в покое. Значение по умолчанию равно нулю. Ненулевое значение Extend соответствует нажатию клавиши SHIFT в дополнение к сочетанию клавиш, описанной в разделе Единица измерения.

pDelta

Тип: long*

Фактическое количество единиц, в которые перемещается точка вставки или активный конец. Этот параметр может быть нулевым. Свертывание выделенного фрагмента, если Extend равно 0, считается одной единицей.

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

Тип: HRESULT

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

Код возврата Описание
E_INVALIDARG
Недопустимая единица измерения.
S_FALSE
Сбой по какой-либо другой причине.

Комментарии

Методы перемещения WordBasic, такие как CharRight, CharLeft, WordRight и WordLeft , — это гибридные методы, которые могут выполнять четыре действия, тесно связанные со стандартным поведением редактирования клавиш со стрелками:

  • Переместите текущую точку вставки, если нет выделенного фрагмента.
  • Перемещение активного конца выделенного фрагмента при наличии выделения.
  • Преобразуйте точку вставки в выделенный фрагмент и наоборот.
  • Возвращает логическое значение, указывающее, произошло ли перемещение.
Аргумент ExtendmoveLeft и MoveRight позволяет соответствовать первым трем приведенным выше элементам, а pDelta является обобщением четвертого. Например, при выборе, состоящем из одного диапазона, имеются следующие соответствия (для символов слева направо).
ITextSelection WordBasic Функция
Выбор. MoveRight tomWord, 1, 1 WordRight 1,1 Перемещает активный конец на одно слово вправо.
Выбор. MoveLeft tomCharacter, 1, 1 CharLeft 1,1 Перемещает активный конец на один символ влево.
 

Как и в WordBasic, если значение Count меньше нуля, значения слева и справа обменяются, что MoveLeft (Unit, Count, Extend) эквивалентно MoveRight (Unit, -Count, Extend).

Аналогично поведению wordBasic и пользовательского интерфейса клавиши стрелка влево, вызов MoveLeft ( Unit, Count) вырожденного выделения перемещает точку вставки на указанное число единицизмерения. В диапазоне вырождения вызов MoveLeft( Unit, Count, 1) , где Count больше нуля, приводит к тому, что диапазон становится неразрожденным, а левый конец является активным.

Если параметр Extend имеет значение tomExtend (или не равно нулю), MoveLeft перемещает только активный конец выделенного фрагмента, оставляя другой конец, где он находится. Однако если значение Extend равно нулю и выделение начинается как неразрожденный диапазон, MoveLeft(Unit, Count) где Count больше нуля, перемещает активный конец Count — 1 единицу влево, а затем перемещает другой конец в активный. Другими словами, он создает точку вставки в активном конце. Свертывание диапазона считается одной единицей. Таким образом, MoveLeft(tomCharacter) преобразует неразродованное выделение в вырожденное выделение в левом конце выделения. Здесь параметр Count имеет значение по умолчанию 1, а Extend — нулевое значение. Этот пример соответствует нажатию клавиши СТРЕЛКА ВЛЕВО. Методы MoveLeft и MoveRight связаны с методами перемещения ITextRange , но отличаются тем, что они явно используют активный конец (конец перемещается нажатием клавиши SHIFT).

Требования

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

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

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

ITextRange

ITextSelection

MoveRight

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

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