Электронная библиотека книг Александра Фролова и Григория Фролова.
Shop2You.ru Создайте свой интернет-магазин
Библиотека
Братьев
Фроловых

Операционная система Microsoft Windows 3.1 для программиста. Дополнительные главы

© Александр Фролов, Григорий Фролов
Том 17, М.: Диалог-МИФИ, 1994, 287 стр.

[Назад] [Содеожание] [Дальше]

2.6. Другие функции для работы с Clipboard

В заключение этой главы кратко рассмотрим еще несколько функций, предназначенных для работы с Clipboard.

Функция IsClipboardFormatAvailable позволяет проверить доступность формата данных, указанного в ее единственном параметре:

BOOL WINAPI IsClipboardFormatAvailable(UINT uFormat);

Если указанный формат доступен, функция возвращает значение TRUE, в противном случае - FALSE.

Для того чтобы получить идентификаторы всех доступных форматов данных Clipboard, воспользуйтесь функцией EnumClipboardFormats:

UINT WINAPI EnumClipboardFormats(UINT uFormat);

Эту функцию следует вызывать в цикле, передав ей в качестве параметра в первый раз нулевое значение (в этом случае она вернет идентификатор первого доступного формата данных). Затем ей нужно каждый раз передавать значение, полученное от функции в результате предыдущего вызова и так до тех пор, пока функция не вернет нулевое значение. Заметим, что перед использованием функции EnumClipboardFormats ваше приложение должно открыть Clipboard функцией OpenClipboard.

С помощью функции CountClipboardFormats можно определить количество различных форматов данных Clipboard, доступных на момент вызова:

int  WINAPI CountClipboardFormats(void);

Функция GetOpenClipboardWindow возвращает идентификатор окна, открывшего на момент вызова Clipboard, или NULL при ошибке:

HWND WINAPI GetOpenClipboardWindow(void);

Функция GetClipboardOwner возвращает идентификатор окна, которое на момент вызова владеет Clipboard:

HWND WINAPI GetClipboardOwner(void);

Если вы знаете идентификатор формата данных Clipboard, то с помощью функции GetClipboardFormatName сможете получить текстовую строку имени этого формата:

int WINAPI GetClipboardFormatName(
  UINT uFormat, LPSTR lpszFormatName, int cbMax);

При вызове функции вы должны передать код формата через первый параметр, а адрес буфера, в который будет записана строка - через второй. Через третий параметр необходимо передать функции размер буфера.

[Назад] [Содеожание] [Дальше]