Операции буфера обмена с использованием элементов управления "Rich Edit"
Приложение может вставить содержимое буфера обмена в форматированный элемент управления редактирования (CRichEditCtrl), используя либо лучший доступный формат буфера обмена, либо определенный формат буфера обмена. Кроме того, можно определить, может ли элемент управления расширенными изменениями вставить формат буфера обмена.
Можно скопировать или вырезать содержимое текущего выделенного фрагмента с помощью функции "Копирование " или "Вырезать ". Аналогичным образом можно вставить содержимое буфера обмена в форматированный элемент управления редактирования с помощью функции -члена вставки . Элемент управления вставляет первый доступный формат, который он распознает, который, предположительно, является наиболее описательным форматом.
Чтобы вставить определенный формат буфера обмена, можно использовать функцию-член PasteSpecial . Эта функция полезна для приложений с помощью команды "Специальная вставка", которая позволяет пользователю выбрать формат буфера обмена. Функцию-член CanPaste можно использовать для определения того, распознается ли заданный формат элементом управления.
Можно также использовать CanPaste
для определения того, распознает ли любой доступный формат буфера обмена с помощью элемента управления расширенными изменениями. Эта функция полезна в обработчике OnInitMenuPopup
. Приложение может включить или серый режим вставки в зависимости от того, может ли элемент управления вставить любой доступный формат.
Элементы управления расширенными изменениями регистрируют два формата буфера обмена: формат форматированный текст и формат RichEdit Text и Objects. Приложение может зарегистрировать эти форматы с помощью функции RegisterClipboardFormat , указав значения CF_RTF и CF_RETEXTOBJ .