Операционная система 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); При вызове функции вы должны передать код
формата через первый параметр, а адрес буфера, в
который будет записана строка - через второй.
Через третий параметр необходимо передать
функции размер буфера. |