Win32 API. Буфер обмена
Страница 7. Окно просмотра буфера обмена


Окно просмотра буфера обмена

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

Как правило, окно окна просмотра буфера обмена может отображать, по крайней мере, три наиболее общих формата: CF_TEXT, CF_BITMAP и CF_METAFILEPICT. Если окно не делает данные доступными в каком-либо из этих трех форматов, оно должно обеспечить данные в форме отображения данных на дисплее или использовать формат владельца - отображающего данные на дисплее.

Цепочка окон просмотра буфера обмена (clipboard viewer chain) - соединение двух или больше объектов так, чтобы они были зависимы работе друг от друга. Эта взаимозависимость (цепочка) позволяет всем запущенным окнам просмотра буфера обмена прикладных программ принимать сообщения, посланные текущему буферу обмена. 

Окна просмотра буфера обмена

Окно добавляет себя к цепочке окон просмотра буфера обмена при помощи вызова функции SetClipboardViewer. Возвращаемое значение - дескриптор следующего окна в цепочке. Чтобы извлечь информацию о дескрипторе первого окна в цепочке, вызовите функцию GetClipboardViewer.

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

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

Для получения дополнительной информации об обработке сообщений WM_DRAWCLIPBOARD и WM_CHANGECBCHAIN, см. Создание окна просмотра буфера обмена.

 

 
« Предыдущая статья   Следующая статья »