3.2.3 - Параллельные форматы буфера обмена

Окно может поместить больше чем один объект в буфере обмена, каждая запись которого, та же самая информация в другом формате буфера обмена. При размещении информации в буфере обмена, окно должно обеспечить данные в стольких форматах, сколько это возможно. Чтобы выяснить, сколько форматов в настоящее время используется на буфере обмена, вызовите функцию CountClipboardFormats.

Форматы буфера обмена, которые содержат самую большую информацию, должны быть помещены в начале буфера обмена, следуя за менее важными квалифицирующими форматами. Окно, вставляющее информацию из буфера обмена, обычно возвращает обратно объект буфера обмена в первом формате, который оно распознает. Поскольку форматы буфера обмена перечислены по порядку, оно помещает в буфер обмена первый распознанный формат, как наиболее квалифицирующий.

Например, предположим, что пользователь копирует стилизованный текст из документа текстового процессора. Окно, содержащее документ, может сначала поместить данные в буфер обмена в зарегистрированном формате, типа RTF. Впоследствии, окно поместит данные в буфер обмена в менее квалифицирующем формате, типа текстового (CF_TEXT).

Когда содержание буфера обмена вставляется в другое окно, окно возвращает обратно данные в наиболее квалифицирующем формате, который оно распознает. Если окно распознает RTF, соответствующие данные вставляются в документ. Иначе, текстовые данные вставляются в документ, а информация о форматировании текста теряется.


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