Окно добавляет себя к цепочке окон просмотра буфера обмена при помощи вызова функции SetClipboardViewer. Возвращаемое значение - дескриптор следующего окна в цепочке. Чтобы извлечь информацию о дескрипторе первого окна в цепочке, вызовите функцию GetClipboardViewer.
Каждое окно просмотра буфера обмена должно следить за следующим окном в цепочке окон просмотра. Когда содержание буфера обмена изменится, система посылает сообщение WM_DRAWCLIPBOARD первому окну в цепочке. После модифицирования его изображения, каждое окно просмотра буфера обмена должно передать это сообщение следующему окну в цепочке.
Перед закрытием, окно просмотра буфера обмена должно удаляться из цепочки окон просмотра буфера обмена, путем вызова функции ChangeClipboardChain. Затем система посылает сообщение WM_CHANGECBCHAIN первому окну в цепочке.
Для получения дополнительной информации об обработке сообщений WM_DRAWCLIPBOARD и WM_CHANGECBCHAIN, см. Создание окна просмотра буфера обмена.