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


WM_RENDERALLFORMATS сообщение

Отправляется владельцу буфера обмена перед его уничтожением, если владелец буфера обмена отложил отрисовку одного или нескольких форматов буфера обмена. Чтобы содержимое буфера обмена оставалось доступным для других приложений, владелец буфера обмена должен отрисовывать данные во всех форматах, которые он может создать, и поместить данные в буфер обмена, вызвав функцию SetClipboardData .

Окно получает это сообщение через функцию WindowProc .

#define WM_RENDERALLFORMATS             0x0306

Параметры

wParam

Этот параметр не используется и должен быть равен нулю.

lParam

Этот параметр не используется и должен быть равен нулю.

Возвращаемое значение

Если приложение обрабатывает это сообщение, оно должно возвращать ноль.

Комментарии

При ответе на сообщение WM_RENDERALLFORMATS приложение должно вызвать функцию OpenClipboard, а затем проверка, что оно по-прежнему является владельцем буфера обмена, вызвав функцию GetClipboardOwner перед вызовом SetClipboardData.

Приложение должно проверка, что оно по-прежнему является владельцем буфера обмена после открытия буфера обмена, так как после получения сообщения WM_RENDERALLFORMATS, но перед открытием буфера обмена другое приложение, возможно, открыло и взяло на себя владение буфером обмена, и данные этого приложения не должны быть перезаписаны.

В большинстве случаев приложению не следует вызывать функцию EmptyClipboard перед вызовом SetClipboardData, так как это приведет к удалению форматов буфера обмена, которые приложение уже отрисовывает.

Когда приложение возвращается, система удаляет все неотрисованные форматы из списка доступных форматов буфера обмена. Сведения о отложенной отрисовке см. в разделе Отложенная отрисовка.

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Winuser.h (включая Windows.h)

См. также раздел

Справочные материалы

EmptyClipboard

OpenClipboard

SetClipboardData

WM_RENDERFORMAT

Основные понятия

Буфер обмена