Буфер обмена
Буфер обмена — это набор функций и сообщений, позволяющих приложениям передавать данные. Так как все приложения имеют доступ к буферу обмена, данные можно легко передавать между приложениями или в приложении.
В этом обзоре не описывается копирование и вставка связанных или внедренных объектов. Дополнительные сведения об этих темах см. в документации по объектной модели компонентов (COM).
В этом разделе
Имя | Описание |
---|---|
Сведения о буфере обмена |
Обсуждает буфер обмена. |
Форматы буфера обмена |
Обсуждает форматы буфера обмена. Окно может поместить несколько объектов в буфер обмена, каждый из которых представляет одну и ту же информацию в другом формате буфера обмена. Пользователям не нужно знать форматы буфера обмена, используемые для объекта в буфере обмена. |
Операции с буфером обмена |
Описывает операции буфера обмена. Окно должно использовать буфер обмена при вырезании, копировании или вставке данных. Окно помещает данные в буфер обмена для операций вырезания и копирования и извлекает данные из буфера обмена для операций вставки. |
Формат буфера обмена HTML |
Описывает формат буфера обмена HTML. |
Использование буфера обмена |
Окно просмотра буфера обмена отображает текущее содержимое буфера обмена и получает сообщения при изменении содержимого буфера обмена. |
Справочник по буферу обмена |
Содержит ссылку на API. |
Функции буфера обмена
Имя | Описание |
---|---|
AddClipboardFormatListener |
Помещает заданное окно в список прослушивателя формата буфера обмена, поддерживаемого системой. |
ChangeClipboardChain |
Удаляет указанное окно из цепочки зрителей буфера обмена. |
CloseClipboard |
Закрывает буфер обмена. |
CountClipboardFormats |
Извлекает количество различных форматов данных, которые в настоящее время находятся в буфере обмена. |
EmptyClipboard |
Очищает буфер обмена и освобождает дескриптор данных в буфере обмена. Затем функция назначает владение буфером обмена в окне, которое в настоящее время имеет открытый буфер обмена. |
EnumClipboardFormats |
Перечисляет форматы данных, доступные в настоящее время в буфере обмена. Форматы данных буфера обмена хранятся в упорядоченном списке. Чтобы выполнить перечисление форматов данных буфера обмена, выполните ряд вызовов функции EnumClipboardFormats . Для каждого вызова параметр формата задает доступный формат буфера обмена, а функция возвращает следующий доступный формат буфера обмена. |
GetClipboardData |
Извлекает данные из буфера обмена в указанном формате. Буфер обмена должен быть открыт ранее. |
GetClipboardFormatName |
Извлекает из буфера обмена имя указанного зарегистрированного формата. Функция копирует имя в указанный буфер. |
GetClipboardOwner |
Извлекает дескриптор окна текущего владельца буфера обмена. |
GetClipboardSequenceNumber |
Извлекает порядковый номер буфера обмена для текущей станции окон. |
GetClipboardViewer |
Извлекает дескриптор в первом окне в цепочке просмотра буфера обмена. |
GetOpenClipboardWindow |
Извлекает дескриптор в окно с открытым буфером обмена. |
GetPriorityClipboardFormat |
Извлекает первый доступный формат буфера обмена в указанном списке. |
GetUpdatedClipboardFormats |
Извлекает поддерживаемые в настоящее время форматы буфера обмена. |
IsClipboardFormatAvailable |
Определяет, содержит ли буфер обмена данные в указанном формате. |
OpenClipboard |
Открывает буфер обмена для проверки и запрещает другим приложениям изменять содержимое буфера обмена. |
RegisterClipboardFormat |
Регистрирует новый формат буфера обмена. Затем этот формат можно использовать в качестве допустимого формата буфера обмена. |
RemoveClipboardFormatListener |
Удаляет заданное окно из списка прослушивателя формата буфера обмена, поддерживаемого системой. |
SetClipboardData |
Помещает данные в буфер обмена в указанном формате буфера обмена. Окно должно быть текущим владельцем буфера обмена, и приложение должно вызывать функцию OpenClipboard. (При реагировании на запросы WM_RENDERFORMAT сообщение, владелец буфера обмена не должен вызывать OpenClipboard перед вызовом SetClipboardData.) |
SetClipboardViewer |
Добавляет указанное окно в цепочку зрителей буфера обмена. Окна просмотра буфера обмена получают сообщение WM_DRAWCпакет интерфейса пользователя BOARD всякий раз, когда содержимое буфера обмена изменяется. |
Сообщения буфера обмена
Имя | Описание |
---|---|
WM_CLEAR |
Отправляется в элемент управления редактирования или поле со списком, чтобы удалить (очистить) текущий выбор( если таковой есть) из элемента управления редактирования. |
WM_COPY |
Отправляется в элемент управления редактирования или поле со списком, чтобы скопировать текущий выбор в буфер обмена в CF_TEXT формате. |
WM_CUT |
Отправляется в элемент управления редактирования или поле со списком, чтобы удалить (вырезать) текущий выделенный фрагмент, если таковой есть, в элементе управления редактирования и скопируйте удаленный текст в буфер обмена в CF_TEXT формате. |
WM_PASTE |
Отправляется в элемент управления редактирования или поле со списком, чтобы скопировать текущее содержимое буфера обмена в элемент управления редактирования в текущей позиции курсора. Данные вставляются только в том случае, если буфер обмена содержит данные в CF_TEXT формате. |
Уведомления буфера обмена
Имя | Описание |
---|---|
WM_ASKCBFORMATNAME |
Отправляется владельцу буфера обмена окном просмотра буфера обмена, чтобы запросить имя формата буфера обмена CF_OWNERDISPLAY . |
WM_CHANGECBCHAIN |
Отправляется в первое окно в цепочке просмотра буфера обмена при удалении окна из цепочки. |
WM_Cпакет интерфейса пользователя BOARDUPDATE |
Отправлено при изменении содержимого буфера обмена. |
WM_DESTROYCпакет интерфейса пользователя BOARD |
Отправляется владельцу буфера обмена при вызове функции EmptyClipboard очищает буфер обмена. |
WM_DRAWCпакет интерфейса пользователя BOARD |
Отправлено в первое окно в цепочке просмотра буфера обмена при изменении содержимого буфера обмена. Это позволяет окне просмотра буфера обмена отображать новое содержимое буфера обмена. |
WM_HSCROLLCпакет интерфейса пользователя BOARD |
Отправлено владельцу буфера обмена окном просмотра буфера обмена. Это происходит, когда буфер обмена содержит данные в формате CF_OWNERDISPLAY и событие происходит в горизонтальной полосе прокрутки буфера обмена. Владелец должен прокрутить изображение буфера обмена и обновить значения полосы прокрутки. |
WM_PAINTCпакет интерфейса пользователя BOARD |
Отправляется владельцу буфера обмена окном просмотра буфера обмена, когда буфер обмена содержит данные в формате CF_OWNERDISPLAY , а клиентская область средства просмотра буфера обмена нуждается в переопределении. |
WM_RENDERALLFORMATS |
Отправляется владельцу буфера обмена до его уничтожения, если владелец буфера обмена отложил отрисовку одного или нескольких форматов буфера обмена. Чтобы содержимое буфера обмена оставалось доступным для других приложений, владелец буфера обмена должен отрисовывать данные во всех форматах, которые он может создавать, и помещать данные в буфер обмена путем вызова функции SetClipboardData. |
WM_RENDERFORMAT |
Отправляется владельцу буфера обмена, если она отложена отрисовка определенного формата буфера обмена и если приложение запрашивает данные в этом формате. Владелец буфера обмена должен отобразить данные в указанном формате и поместить его в буфер обмена, вызвав функцию SetClipboardData. |
WM_SIZECпакет интерфейса пользователя BOARD |
Отправляется владельцу буфера обмена окном просмотра буфера обмена, когда буфер обмена содержит данные в формате CF_OWNERDISPLAY , а клиентская область средства просмотра буфера обмена изменилась. |
WM_VSCROLLCпакет интерфейса пользователя BOARD |
Отправляется владельцу буфера обмена окном просмотра буфера обмена, когда буфер обмена содержит данные в формате CF_OWNERDISPLAY и событие происходит в вертикальной полосе прокрутки средства просмотра буфера обмена. Владелец должен прокрутить изображение буфера обмена и обновить значения полосы прокрутки. |
Структуры
Имя | Описание |
---|---|
METAFILEPICT |
Определяет формат рисунка метафайла, используемый для обмена данными метафайла через буфер обмена. |