title: Phi::Clipboard
author: YOSHIDA Kazuhiro
mailto: moriq@moriq.com

1. Phi::Clipboard

Windows のクリップボード

%c:Phi::Clipboard% は，アプリケーションで切り取りおよびコピーを行うテキストまたはグラフィックスを格納する Windows クリップボードのラッパーオブジェクトである。

Phi は %c:Phi::CLIPBOARD% ( 定数 ) を用意する。

1.1. properties

: text : String
  クリップボードの内容を文字列として表す。

  クリップボードにテキストを入れたり，クリップボードからテキストを取り出すことができる。クリップボードに文字列が入っていないと，例外が発生する。文字列が入っているかどうかを知るには， %c:Win::CF_TEXT% を #has_format? に渡す。

1.1. methods

: formats : Array of Fixnum
  クリップボードが格納するすべての形式

: format_count : Fixnum
  #formats 内部の形式の数

: lock { ... }
  追加した内容が他のアプリケーションによって上書きされないようにする。 1 つの項目しかクリップボードに追加しないときは， %c:lock% しなくてよい。

: clear : nil
  クリップボードの内容を削除する。

  %c:clear% は，クリップボードにデータを追加する %c:Phi::Clipboard% 操作によって自動的に呼び出される。

: has_format?(format) : Boolean
  データが指定した形式でクリップボードに含まれているかどうか

  : true
    指定した形式が存在する
  : false
    指定した形式が存在しない

  利用可能な形式のリストは #formats で得られる。

  : format : Fixnum
    以下の値を指定できる。

    : CF_TEXT
      各行が %c:CR% %c:LF% で終わるテキスト ( ヌル文字はテキストの終わりを示す )
    : CF_BITMAP
      Windows ビットマップグラフィック
    : CF_METAFILEPICT
      Windows メタファイルグラフィック
    : CF_PICTURE
      Picture# オブジェクト
    : CF_COMPONENT
      持続的なオブジェクト

    Windows や Windows アプリケーションで提供される形式， Phi::Picture#register_clipboard_format で登録した形式もサポートする。
