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 [только классические приложения] |
Заголовок |
|
См. также раздел
-
Справочные материалы
-
Основные понятия