Функция EnumClipboardFormats перечисляет форматы данных, в текущий момент доступные в буфере обмена.
Форматы данных буфера обмена сохраняются в упорядоченном списке. Чтобы выполнить перечисление форматов данных буфера, сделаете серию вызовов функции EnumClipboardFormats. Для каждого вызова, параметр format устанавливает доступный формат буфера, а функция возвращает следующий доступный формат буфера обмена.
Синтаксис
UINT EnumClipboardFormats( UINT format ); |
Параметры
format
[in] Устанавливает формат буфера обмена, который распознается как доступный.Чтобы начать перечисление форматов буфера обмена, установите параметр format в нуль. Когда format равняется нулю, функция извлекает первый доступный формат буфера обмена. Для последующих вызовов в ходе перечисления, устанавливайте в format результат предыдущего вызова функции EnumClipboardFormats.
Возвращаемые значения
Если функция завершается успешно, возвращаемое значение - формат буфера обмена, который следует за определяемым форматом, а именно следующий доступный формат буфера обмена.
Если функция завершается с ошибкой, величина возвращаемого значения - нуль. Чтобы получить дополнительные сведения об ошибке, вызовите GetLastError. Если буфер обмена не открыт, функция завершается ошибкой.
Если нет больше форматов буфера обмена для перечисления, величина возвращаемого значения - нуль. В этом случае, функция GetLastError возвращает значение ERROR_SUCCESS. Это дает Вам возможность делать различие между функциональным отказом и концом перечисления.
Замечания
Перед перечислением форматов Вы должны открыть буфер обмена . Чтобы его открыть, используйте функцию OpenClipboard. Функция EnumClipboardFormats завершается ошибкой, если буфер обмена не открыт.
Функция EnumClipboardFormats перечисляет форматы в порядке, в котором они помещались в буфер обмена. Если Вы копируете информацию в буфер, добавьте объекты буфера обмена в порядке от самого насыщенного описателями до самого бедного описателями формата буфера обмена. Если Вы вставляете информацию из буфера обмена, извлекается первый формат буфера, который Вы можете обработать. Он должен быть с самым большим количеством описателей форматом буфера обмена, который Вы можете обработать.
Система обеспечивает автоматическое преобразование типов для некоторых форматов буфера обмена. Когда встречается такой формат, эта функция перечисляет определяемый формат, а затем перечисляет формат в который он может быть преобразован. За подробной информацией обратитесь к статьям. Стандартные форматы буфера обмена и Синтезированные форматы буфера обмена.
Windows 95/98/Me: Microsoft® Layer for Unicode (MSLU) поддерживается EnumClipboardFormats, чтобы обеспечить поддержку синтетических форматов буфера обмена. За подробной информацией обратитесь к статье Синтезированные форматы буфера обмена. Чтобы использовать эту версию EnumClipboardFormats, Вы должны добавить некоторые файлы к вашему приложению, как изложено в описании Microsoft Layer for Unicode для системы Windows 95/98/Me.
Пример
Пример смотри в статье Пример Создание окна просмотра буфера обмена.
Смотри также
Обзор Буфер обмена, CountClipboardFormats, OpenClipboard, RegisterClipboardFormat
Размещение и совместимость EnumClipboardFormats |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 3.1 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
User32.lib |
Заголовочный файл |
|
- объявлено в |
Winuser.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |