Функция _ClipBoard_EnumFormats

         Описание функции


_ClipBoard_EnumFormats

Перечисляет форматы данных, имеющихся в текущем буфере обмена

#include <Clipboard.au3>
_ClipBoard_EnumFormats($iFormat)

Параметры

$iFormat Имеющийся известный формат буфера обмена. Чтобы начать перечисление форматов, установите $iFormat равным 0. При $iFormat равным 0, функция возвращает первый имеющийся формат буфера обмена. Для последующих вызовов во время перечисления установите $iFormat равным результату предыдущего вызова.

Возвращаемое значение

Успех:Возвращает формат буфера обмена, следующий после указанного формата
Ошибка:Возвращает 0

Примечания

Вы должны открыть буфер обмена перед перечислением его форматов

См. также

_ClipBoard_Open, _ClipBoard_CountFormats, _ClipBoard_GetPriorityFormat, _ClipBoard_RegisterFormat

См. также

Искать EnumClipboardFormats в библиотеке MSDN

Пример

#include <GUIConstantsEx.au3>
#include <Clipboard.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>

Global $iMemo

_Main()

Func _Main()
    Local $hGUI, $iFormat, $iCount

    ; Создаёт GUI
    $hGUI = GUICreate("Clipboard", 600, 400)
    $iMemo = GUICtrlCreateEdit("", 2, 2, 596, 396, $WS_VSCROLL)
    GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
    GUISetState()

    ; Открывает буфер обмена
    If _ClipBoard_Open($hGUI) Then

        ; Показывает количество доступных форматов буфера обмена
        MemoWrite("Clipboard formats ..: " & _ClipBoard_CountFormats())

        ; Перечисляет форматы буфера обмена
        Do
            $iFormat = _ClipBoard_EnumFormats($iFormat)
            If $iFormat <> 0 Then
                $iCount += 1
                MemoWrite("Clipboard format " & $iCount & " .: " & _ClipBoard_FormatStr($iFormat))
            EndIf
        Until $iFormat = 0

        ; Закрывает буфер обмена
        _ClipBoard_Close()
    Else
        _WinAPI_ShowError("Ошибка функции _ClipBoard_Open")
    EndIf

    ; Цикл выполняется, пока окно не будет закрыто
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

EndFunc   ;==>_Main

; Записывает строку в элемент для заметок
Func MemoWrite($sMessage = "")
    GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite