## Tcl8.6.17/Tk8.6.17 Documentation > Tk Commands > clipboard

### Tcl/Tk Applications | Tcl Commands | Tk Commands | [incr Tcl] Package Commands | SQLite3 Package Commands | TDBC Package Commands | tdbc::mysql Package Commands | tdbc::odbc Package Commands | tdbc::postgres Package Commands | tdbc::sqlite3 Package Commands | Thread Package Commands | Tcl C API | Tk C API | [incr Tcl] Package C API | TDBC Package C API

### NAME

clipboard — Tk 臨時板を操作する Manipulate Tk clipboard

### 構文 SYNOPSIS

clipboard option ?arg arg ...?

### 説明 DESCRIPTION

この命令は Tk 臨時板への Tcl 対話機能を提供する､それは選択の仕掛けを使って後に( -selection CLIPBOARD 指示項目経由で)取戻す為のデータを保存する｡データを臨時板に複写する為には､一つ或はそれ以上の clipboard append (追記)呼出しの並びを従えた clipboard clear (消去)が､必ず呼ばれなければならない｡臨時板が自動的に更新されることを確実にする為に､全ての追記は行事の繰返しに戻る前に完遂される様にすべきである｡ This command provides a Tcl interface to the Tk clipboard, which stores data for later retrieval using the selection mechanism (via the -selection CLIPBOARD option). In order to copy data into the clipboard, clipboard clear must be called, followed by a sequence of one or more calls to clipboard append. To ensure that the clipboard is updated atomically, all appends should be completed before returning to the event loop.

clipboard に対する第１引数は残りの引数の書式と､命令の振舞いを定める｡現在次の形式が運営されている: The first argument to clipboard determines the format of the rest of the arguments and the behavior of the command. The following forms are currently supported:

clipboard append ?-displayof window? ?-format format? ?-type type? ?--? data
  与えられた型 type により､与えられた format による表現で window 上の臨時板の表示に data を追記し､表示の所有権を宣言する｡ Appends data to the clipboard on window's display in the form given by type with the representation given by format and claims ownership of the clipboard on window's display.

  type は､返されることになる選択の形式を指定する､(ICCCM 用語による､変換に関する望ましい “目標” )､それは､譬えば STRING や FILE_NAME の様な基本子の名前が好ましい; 完全な詳細については Inter-Client Communication Conventions Manual を参照されたい｡ type の省略時設定は STRING である｡ Type specifies the form in which the selection is to be returned (the desired “target” for conversion, in ICCCM terminology), and should be an atom name such as STRING or FILE_NAME; see the Inter-Client Communication Conventions Manual for complete details. Type defaults to STRING.

  format 引数は表現を指定する､それは選択を要求者に渡す為に使われるべきであり( ICCCM 規格第２表第２欄)､省略時設定は STRING である｡もし format が STRING であると､選択は 8-bit ASCII 文字として渡される｡もし format が ATOM であると､ data は空白によって分離され欄枠に入れられる; それぞれの欄枠はその基本子の値に変換される､そして基本子の名前ではなく 32-bit 基本子の値が渡される｡他のどの format についても､ data は空白によって分離され欄枠に入れられ､そしてそれぞれの欄枠は 32-bit 整数に変換される; 整数の配列は選択要求者に渡される｡註意すべきは､ clipboard append に渡された文字列は変換の前に鎖状に結合されるので､呼出し者は文字列の境界を横切って適切に区切るように註意しなくてはならない｡臨時板に付けられた同じ type の全ての項目は同じ format でなければならない｡ The format argument specifies the representation that should be used to transmit the selection to the requester (the second column of Table 2 of the ICCCM), and defaults to STRING. If format is STRING, the selection is transmitted as 8-bit ASCII characters. If format is ATOM, then the data is divided into fields separated by white space; each field is converted to its atom value, and the 32-bit atom value is transmitted instead of the atom name. For any other format, data is divided into fields separated by white space and each field is converted to a 32-bit integer; an array of integers is transmitted to the selection requester. Note that strings passed to clipboard append are concatenated before conversion, so the caller must take care to ensure appropriate spacing across string boundaries. All items appended to the clipboard with the same type must have the same format.

  format 引数は Tk を使用しない臨時板要求者との互換性にのみ必要である｡もし Tk toolkit が CLIPBOARD 選択の取戻しに使用されていると要求の終了時に値は文字列に戻されるので､ format は関係がない｡ The format argument is needed only for compatibility with clipboard requesters that do not use Tk. If the Tk toolkit is being used to retrieve the CLIPBOARD selection then the value is converted back to a string at the requesting end, so format is irrelevant.

  -- の引数は指示項目の終わりを記す: 次隣の引数は常に data として使われる｡この性質は譬えば data が - で始まっている場合には便利である｡ A -- argument may be specified to mark the end of options: the next argument will always be used as data. This feature may be convenient if, for example, data starts with a -.

clipboard clear ?-displayof window?
  window 上の臨時板の表示の所有権を宣言し､それ以前のどの様な内容も除去する｡ window の省略時設定は “.” である｡この命令は空文字列を返す｡ Claims ownership of the clipboard on window's display and removes any previous contents. Window defaults to “.”. Returns an empty string.

clipboard get ?-displayof window? ?-type type?
  window 上の臨時板の表示を取戻す｡ window の省略時設定は “.” である｡ type は data が返される型を指定するが､譬えば STRING や FILE_NAME の様な基本子の名前が好ましい｡ type の省略時設定は STRING である｡この命令は “selection get -selection CLIPBOARD” と等価である｡ Retrieve data from the clipboard on window's display. Window defaults to “.”. Type specifies the form in which the data is to be returned and should be an atom name such as STRING or FILE_NAME. Type defaults to STRING. This command is equivalent to “selection get -selection CLIPBOARD”.

  註意すべきは現在の X11 系は､移転された文字列を取戻す為の最も便利な型は STRING ではなく UTF8_STRING である｡ Note that on modern X11 systems, the most useful type to retrieve for transferred strings is not STRING, but rather UTF8_STRING.

### 用例 EXAMPLES

臨時板の現在の内容を得る｡ Get the current contents of the clipboard.

    if {[catch {clipboard get} contents]} {
        # 臨時板になにもない
        # There were no clipboard contents at all
    }

臨時板に文字列を保持するよう設定する｡ Set the clipboard to contain a fixed string.

    clipboard clear
    clipboard append "some fixed string"

臨時板に別誂えのデータを 誂えの -type 指示項目を使って入れ込むことができる｡これは必ずしも互換性はないが非常に便利である｡Tcl 記述譜に渡すこの方法は効果的であるが､製品の符号命令内では安全な解釈実行機能と混合すべきである｡ You can put custom data into the clipboard by using a custom -type option. This is not necessarily portable, but can be very useful. The method of passing Tcl scripts this way is effective, but should be mixed with safe interpreters in production code.

    # これは単純な画布直列化譜である｡
    # 実行される時に品目を再作成する記述譜を作り出す
    # This is a very simple canvas serializer;
    # it produces a script that recreates the item(s) when executed
    proc getItemConfig {canvas tag} {
       set script {}
       foreach item [$canvas find withtag $tag] {
          append script {$canvas create } [$canvas type $item]
          append script { } [$canvas coords $item] { }
          foreach config [$canvas itemconf $item] {
             lassign $config name - - - value
             append script [list $name $value] { }
          }
          append script \n
       }
       return [string trim $script]
    }

    # 品目を切り貼りするために画布に束縛を設定する
    # Set up a binding on a canvas to cut and paste an item
    set c [canvas .c]
    pack $c
    $c create text 150 30 -text "cut and paste me"
    bind $c <<Cut>> {
       clipboard clear
       clipboard append -type TkCanvasItem \
             [getItemConfig %W current]
       # これは切取りで複写ではないので削除する
       # Delete because this is cut, not copy.
       %W delete current
    }
    bind $c <<Paste>> {
       catch {
          set canvas %W
          eval [clipboard get -type TkCanvasItem]
       }
    }

### SEE ALSO

interp, selection

### KEYWORDS

clear, format, clipboard, append, selection, type
Copyright © 1994 The Regents of the University of California.
Copyright © 1994-1996 Sun Microsystems, Inc.