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


Как использовать операции буфера обмена в Rich Edit

Приложение может вставить содержимое буфера обмена в расширенный элемент управления редактированием, используя либо оптимальный доступный формат, либо определенный формат буфера обмена. Кроме того, можно определить, способен ли расширенный элемент управления редактированием вставлять формат из буфера обмена.

Что нужно знать

Технологии

Необходимые условия

  • C/C++
  • Программирование пользовательского интерфейса Windows

Инструкции

Использование расширенной операции буфера обмена

Подобно элементу управления редактированием, вы можете скопировать или вырезать содержимое текущего выделения с помощью сообщений WM_COPY или WM_CUT. Аналогичным образом можно вставить содержимое буфера обмена в элемент управления расширенного редактирования с помощью сообщения WM_PASTE. Элемент управления вставляет первый доступный формат, который он распознает, который, предположительно, является наиболее описательным форматом.

Чтобы вставить определенный формат буфера обмена, можно использовать сообщение EM_PASTESPECIAL. Это сообщение полезно для приложений с командой специальной вставки, позволяющей пользователю выбрать формат буфера обмена. Вы можете использовать сообщение EM_CANPASTE для определения того, распознается ли данный формат элементом управления.

Кроме того, можно использовать сообщение EM_CANPASTE для определения того, распознается ли любой доступный формат буфера обмена с помощью элемента управления с расширенными возможностями редактирования. Это сообщение полезно при обработке сообщения WM_INITMENUPOPUP. Приложение может включить или отключить команду Вставить в зависимости от возможности элемента управления вставить любой доступный формат.

Расширенные элементы управления редактором регистрируют два формата буфера обмена:

  • Формат форматированного текста
  • Формат форматированного текста без объектов
  • Текст и объекты RichEdit

Приложение может зарегистрировать эти форматы с помощью функции RegisterClipboardFormat , указав значения CF_RTF, CF_RTFNOOBJS и CF_RETEXTOBJ.

с помощью элементов управления расширенными изменениями

демонстрация стандартных элементов управления Windows (CppWindowsCommonControls)