<Return[E]><Top>

EnumClipboardFormats

Declare Function Api_EnumClipboardFormats& Lib "user32" Alias "EnumClipboardFormats" (ByVal wFormat&)

Declare Function EnumClipboardFormats Lib "user32" Alias "EnumClipboardFormats" (ByVal wFormat As Long) As Long

現在クリップボード内に存在するデータが持つデータ形式を列挙する。

パラメータ
format
    [入力]クリップボードで利用可能であることがわかっているデータ形式を指定する。
    データ形式の列挙を開始するときは、0 を指定する。0 を指定すると、最初に利用可能なデータ形式が返される。

    以後、戻り値を次回の呼び出し時の引数にしながら繰り返し EnumClipboardFormats 関数を呼び出すことで、データ形式を列挙できる。

戻り値
    関数が成功すると、指定したデータ形式に続くデータ形式が返る。言い換えると、クリップボードで次に利用可能なデータ形式が返る。
    関数が失敗すると、0 が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。

    クリップボードが開いていない場合は、関数は失敗する。
    列挙するクリップボードのデータ形式がそれ以上ない場合、戻り値は 0 になる。このとき、GetLastError 関数は NO_ERROR 値を返す。 

    この値を調べることで、関数の失敗と列挙の終わりを区別できる。

解説
    クリップボードのデータ形式を列挙する前に、クリップボードを開いておかなければならない。

    クリップボードを開くには、OpenClipboard 関数を使う。クリップボードが開いていない場合、EnumClipboardFormats 関数は失敗する。
    クリップボードのデータ形式は、クリップボードに格納された順番で列挙される。

    情報をクリップボードへコピーする際に、最も記述的なデータ形式を最初に、最も記述量の少ないデータ形式を最後に追加する。

    クリップボードのデータを貼り付ける際に、処理できる最初のデータ形式を取得する。

    この結果、処理できるデータ形式のうち、最も記述的なものを取得できる。
    クリップボードの特定のデータ形式に関して、システムは自動的な型変換機能を提供する。そのようなデータ形式に関連して、この関数は

    最初に、指定されたデータ形式を列挙し、次に変換可能な変換済みデータ形式を列挙する。