Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
буфер обмена — это набор функций и сообщений, позволяющих приложениям передавать данные. Так как все приложения имеют доступ к буферу обмена, данные можно легко передавать между приложениями или в приложении.
В этом обзоре не описывается копирование и вставка связанных или внедренных объектов. Дополнительные сведения об этих темах см. в документации по объектной модели компонентов (COM).
В этом разделе
В следующих разделах содержатся сведения о буфере обмена, форматах буфера обмена, операциях буфера обмена и сообщениях буфера обмена. Справочник по API содержит функции и сообщения, которые можно использовать для работы с буфером обмена.
Имя | Описание |
---|---|
О буфере обмена | Обсуждает буфер обмена. |
Форматы буфера обмена | Обсуждает форматы буфера обмена. Окно может поместить несколько объектов в буфер обмена, каждый из которых представляет одну и ту же информацию в другом формате буфера обмена. Пользователям не нужно знать форматы буфера обмена, используемые для объекта в буфере обмена. |
Операции буфера обмена | Описывает операции буфера обмена. Окно должно использовать буфер обмена при вырезании, копировании или вставке данных. Окно помещает данные в буфер обмена для операций вырезания и копирования и извлекает данные из буфера обмена для операций вставки. |
формат буфера обмена 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_DRAWCLIPBOARD всякий раз, когда содержимое буфера обмена изменяется. |
Сообщения буфера обмена
В следующей таблице перечислены сообщения, отправляемые в окна просмотра буфера обмена:
Имя | Описание |
---|---|
WM_CLEAR | Отправляется в элемент управления редактирования или поле со списком, чтобы удалить (очистить) текущий выбор( если таковой есть) из элемента управления редактирования. |
WM_COPY | Отправляется в элемент управления ввода или комбинированное поле, чтобы скопировать текущий выбор в буфер обмена в CF_TEXT формате. |
WM_CUT | Отправляется в элемент управления редактирования или поле со списком, чтобы удалить (вырезать) текущий выделенный фрагмент, если он есть, в элементе управления редактирования и скопировать удаленный текст в буфер обмена в формате CF_TEXT. |
WM_PASTE | Отправляется в элемент управления редактирования или поле со списком, чтобы скопировать текущее содержимое буфера обмена в элемент управления редактирования в текущей позиции курсора. Данные вставляются только в том случае, если буфер обмена содержит данные в CF_TEXT формате. |
Уведомления буфера обмена
В следующей таблице перечислены сообщения уведомления буфера обмена, отправляемые в окна просмотра буфера обмена:
Имя | Описание |
---|---|
WM_ASKCBFORMATNAME | Отправляется владельцу буфера обмена окном просмотра буфера обмена, чтобы запросить имя формата буфера обмена CF_OWNERDISPLAY . |
WM_CHANGECBCHAIN | Отправляется в первое окно в цепочке просмотра буфера обмена при удалении окна из цепочки. |
WM_CLIPBOARDUPDATE | Отправлено при изменении содержимого буфера обмена. |
WM_DESTROYCLIPBOARD | Отправляется владельцу буфера обмена, когда вызов функции EmptyClipboard очищает буфер обмена. |
WM_DRAWCLIPBOARD | Отправлено в первое окно в цепочке просмотра буфера обмена при изменении содержимого буфера обмена. Это позволяет окне просмотра буфера обмена отображать новое содержимое буфера обмена. |
WM_HSCROLLCLIPBOARD | Отправлено владельцу буфера обмена окном просмотра буфера обмена. Это происходит, когда буфер обмена содержит данные в формате CF_OWNERDISPLAY и событие происходит в горизонтальной полосе прокрутки буфера обмена. Владелец должен прокрутить изображение буфера обмена и обновить значения полосы прокрутки. |
WM_PAINTCLIPBOARD | Отправляется владельцу буфера обмена окном просмотра буфера обмена, когда буфер обмена содержит данные в формате CF_OWNERDISPLAY и клиентская область окна просмотра нуждается в перерисовке. |
WM_RENDERALLFORMATS | Отправляется владельцу буфера обмена до его уничтожения, если владелец буфера обмена отложил отрисовку одного или нескольких форматов буфера обмена. Чтобы содержимое буфера обмена оставалось доступным для других приложений, владелец буфера обмена должен отрисовывать данные во всех форматах, которые он может создавать, и помещать данные в буфер обмена путем вызова функции SetClipboardData . |
WM_RENDERFORMAT | Отправляется владельцу буфера обмена, если она отложена отрисовка определенного формата буфера обмена и если приложение запрашивает данные в этом формате. Владелец буфера обмена должен отобразить данные в указанном формате и поместить его в буфер обмена, вызвав функцию SetClipboardData . |
WM_SIZECLIPBOARD | Отправляется владельцу буфера обмена окном просмотра буфера обмена, когда буфер обмена содержит данные в формате CF_OWNERDISPLAY , а клиентская область средства просмотра буфера обмена изменилась. |
WM_VSCROLLCLIPBOARD | Отправляется владельцу буфера обмена окном просмотра буфера обмена, когда буфер обмена содержит данные в формате CF_OWNERDISPLAY и событие происходит в вертикальной полосе прокрутки средства просмотра буфера обмена. Владелец должен прокрутить изображение буфера обмена и обновить значения полосы прокрутки. |
Структуры
В следующей таблице перечислены структуры, используемые с буфером обмена:
Имя | Описание |
---|---|
METAFILEPICT | Определяет формат рисунка метафайла, используемый для обмена данными метафайла через буфер обмена. |