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


Функции для работы с Clipboard


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

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

BOOL WINAPI OpenClipboard(HWND hwnd);

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

Если доступ к Clipboard получен, функция OpenClipboard вернет значение TRUE. Если же Clipboard уже открыт другим приложением, эта функция вернет значение FALSE.

После использования приложение должно закрыть Clipboard, вызвав функцию CloseClipboard:

BOOL WINAPI CloseClipboard(void);

Эта функция в случае успеха возвращает значение TRUE, а в случае ошибки - FALSE.

Содержимое открытого Clipboard может быть сброшено функцией EmptyClipboard:

BOOL WINAPI EmptyClipboard(void);

Функция EmptyClipboard возвращает значение TRUE при нормальном завершении или FALSE при ошибке.

Для выполнения записи данных в Clipboard приложение должно использовать функцию SetClipboardData:

HANDLE WINAPI SetClipboardData(UINT uFormat, HANDLE hData);

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

Для параметра uFormat вы можете использовать константу, соответствующую одному из предопределенных форматов, или полученную от функции RegisterClipboardFormat.

Функция RegisterClipboardFormat позволяет зарегистрировать собственные форматы данных для Clipboard, мы расскажем о ней позже.

Приведем список предопределенных форматов данных для Clipboard.


- Начало -  - Назад -  - Вперед -