3.4 - Монопольное использование буфера обмена

Владелец буфера обмена (clipboard owner) - окно, связанное информацией с буфером обмена. Окно становится владельцем буфера обмена, когда оно помещает данные в буфер обмена - в особенности, когда оно вызывает функцию EmptyClipboard. Окно остается владельцем буфера обмена до тех пор, пока оно не закрыто, или пока другое окно не освободит буфер обмена.

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

Окно задерживает запись одного или большего количества форматов буфера обмена. В ответ на сообщение WM_DESTROYCLIPBOARD, окно может освободить ресурсы, которые оно распределило, чтобы предать данные по запросу. Для получения дополнительной информации о исполнении данных, см. Отсроченная запись.

Окно поместило данные в буфер обмена в собственном формате. Данные для собственных форматов буфера обмена не освобождаются системой, когда буфер обмена очищается. Следовательно, владелец буфера обмена должен освободить эти данные при получении сообщения WM_DESTROYCLIPBOARD. Для получения дополнительной информации о собственных форматах буфера обмена, см. Форматы буфера обмена.

Окно поместило данные, в буфер обмена, используя формат CF_OWNERDISPLAY. В ответ на сообщение WM_DESTROYCLIPBOARD, окно может освободить ресурсы, которые оно использовало, чтобы отобразить информацию в окне просмотра буфера обмена. Для получения дополнительной информации об этом альтернативном формате , см. Формат собственного отображения.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Владимир Соковиков.