Использование операций с расширенными изменениями буфера обмена
Приложение может вставить содержимое буфера обмена в форматированный элемент управления редактирования, используя либо лучший доступный формат буфера обмена, либо определенный формат буфера обмена. Кроме того, можно определить, может ли элемент управления расширенными изменениями вставить формат буфера обмена.
Это важно знать
Технологии
Необходимые компоненты
- C/C++
- Программирование пользовательского интерфейса Windows
Instructions
Использование операции с расширенными изменениями буфера обмена
Как и элемент управления редактированием, можно скопировать или сократить содержимое текущего выделенного фрагмента с помощью сообщения WM_COPY или WM_CUT. Аналогичным образом можно вставить содержимое буфера обмена в элемент управления расширенными изменениями с помощью сообщения WM_PASTE. Элемент управления вставляет первый доступный формат, который он распознает, который, предположительно, является наиболее описательным форматом.
Чтобы вставить определенный формат буфера обмена, можно использовать сообщение EM_PASTESPECIAL. Это сообщение полезно для приложений с помощью команды "Специальная вставка", которая позволяет пользователю выбрать формат буфера обмена. Вы можете использовать сообщение EM_CANPASTE , чтобы определить, распознает ли данный формат элемент управления.
Кроме того, можно использовать сообщение EM_CANPASTE для определения того, распознается ли любой доступный формат буфера обмена с помощью элемента управления с расширенными возможностями редактирования. Это сообщение полезно при обработке сообщения WM_INITMENUPOPUP . Приложение может включить или серый режим вставки в зависимости от того, может ли элемент управления вставить любой доступный формат.
Элементы управления расширенными изменениями регистрируют два формата буфера обмена:
- Формат RTF
- Формат форматированного текста без объектов
- Текст и объекты RichEdit
Приложение может зарегистрировать эти форматы с помощью функции RegisterClipboardFormat , указав значения CF_RTF, CF_RTFNOOBJS и CF_RETEXTOBJ.
См. также