46954 (Буфер обмена), страница 2
Описание файла
Документ из архива "Буфер обмена", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "46954"
Текст 2 страницы из документа "46954"
Окно просмотра буфера обмена представляет собой программу, предназначенную для просмотра содержимого буфера обмена. Обычно окна просмотра поддерживают множество форматов, но не могут правильно интерпретировать приватные зарегистрированные форматы. В этой связи может потребоваться создать окно просмотра буфера обмена самостоятельно.
Следует учитывать, что окно просмотра буфера обмена не владеет данными, которыми управляет. Требования к окну просмотра:
-
Окно просмотра ни в коем случае не должно выполнять запись в содержимое буфера обмена.
-
Окно просмотра никогда не должно оставлять какой-либо элемент содержимого буфера обмена заблокированным.
-
Поскольку в любой момент времени могут выполняться несколько окон просмотра и сообщения передаются между ними посредством связанного списка окон просмотра, создаваемая программа должна отвечать следующим соглашениям:
-
Сохранять значение возврата функции SetClipboardViewer(), которое указывает на следующее окно просмотра буфера обмена в цепочке. Windows помещает новые окно просмотра перед уже установленными.
-
Передавать сообщения WM_DRAWCLIPBOARD следующему окну просмотра в цепочке. В противном случае остальные окна просмотра не будут обновляться.
-
Передавать сообщения WM_CHANGECBCHAIN следующему окну просмотра в цепочке. В противном случае цепочка окон просмотра будет прервана.
-
Отслеживать сообщения WM_CHANGECBCHAIN для удаления следующего окна цепочки. Параметр IParam содержит новый дескриптор следующего окна в случае удаления следующего, окна просмотра.
-
Для удаления окна просмотра из цепочки следует вызвать функцию ChangeClipboardChain() с использованием сохраненного значения следующего окна.