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

### 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
    ttk_vsapi — マイクロソフト社外観様式要素の定義 　Define a Microsoft Visual Styles element
  構文 SYNOPSIS
  説明 DESCRIPTION
  指示項目OPTIONS
    -padding padding
    -margins padding
    -width width
    -height height
  STATE MAP
  用例 EXAMPLE
  SEE ALSO
  KEYWORDS

### NAME

ttk_vsapi — マイクロソフト社外観様式要素の定義 　Define a Microsoft Visual Styles element

### 構文 SYNOPSIS

ttk::style element create name vsapi className partId ?stateMap? ?options?

### 説明 DESCRIPTION

vsapi要素機能は新しい要素を現在の主題の中に作成する､その主題の視覚的外観は､MS-Windowsの生来の様式の為のttk内に使われているマイクロソフト社視覚様式API使って描かる｡ その機能はどの視覚様式の部分も ttk 要素として宣言されることを許容する､それにより ttk 部品の外観を修正する為に様式の割付けに含まれることが可能になる｡ 　　 The vsapi element factory creates a new element in the current theme whose visual appearance is drawn using the Microsoft Visual Styles API which is used in ttk for the MS-Windows native styles. This factory permits any of the Visual Styles parts to be declared as Ttk elements that can then be included in a style layout to modify the appearance of Ttk widgets.

className と partId は要求された假引数であり､視覚様式の級を指定し､マイクロ社説明書の中の部分に与えられている｡ stateMap は ttk 状態の可視的様式 API 状態に対応して与えられる( STATE MAP 参照)｡ className and partId are required parameters and specify the Visual Styles class and part as given in the Microsoft documentation. The stateMap may be provided to map Ttk states to Visual Styles API states (see STATE MAP).

### 指示項目OPTIONS

Valid options are:

-padding padding
  要素の内部の充填を指定する｡ padding は４つ以下の整数で､左､頂､右､底にそれぞれ詰める量を指定する｡ もし四つより少ない要素が指定された場合､底の省略時設定は頂､右の省略時設定は左､頂の省略時設定は左である｡ 謂い換えると､３つの数字は左､垂直､右の詰め方を指定する; ２つの数字は水平と､垂直の詰め方を指定する; 一つの数字は部品の周りの全てに同じ詰め方を指定する｡ この指示項目は他の指示項目と混ぜる事はできない｡ 　　　 　　 Specify the element's interior padding. padding is a list of up to four integers specifying the left, top, right and bottom padding quantities respectively. If fewer than four elements are specified, bottom defaults to top, right defaults to left, and top defaults to left. In other words, a list of three numbers specify the left, vertical, and right padding; a list of two numbers specify the horizontal and the vertical padding; a single number specifies the same padding all the way around the widget. This option may not be mixed with any other options.

-margins padding
  要素の外部の充填を指定する｡ padding は４つ以下の整数で､左､上､右､下にそれぞれ詰める量を指定する｡この指示項目は他の指示項目と混ぜる事はできない｡ 　　 Specifies the elements exterior padding. padding is a list of up to four integers specifying the left, top, right and bottom padding quantities respectively. This option may not be mixed with any other options.

-width width
  要素の高さを指定する(訳註 幅の指定の誤りと思われる)｡もしこの指示項目が設定されている場合､ Visual Styles API は推奨した寸法や部分の為に問合せをしない｡もしこの指示項目が設定されている場合､ -height も同様に設定すべきである｡ -width と -height の指示項目は -padding や -margins 指示項目と混ぜる事はできない｡ 　　 Specifies the height for the element. If this option is set then the Visual Styles API will not be queried for the recommended size or the part. If this option is set then -height should also be set. The -width and -height options cannot be mixed with the -padding or -margins options.

-height height
  要素の高さを指定する｡ -width の為の命令を見られたい｡ 　　 Specifies the height of the element. See the comments for -width.

### STATE MAP

stateMap 假引数は ttk 状態と対応する Visual Styles API の状態の値のリストである｡これは､要素の外観が､活性になったり押下されたりの様な､部品の状態に応答して変化する事を許容する｡そのリストは ttk::style map 命令として記述されるが､註意すべきは､リスト内の最後の対は省略時設定の状態であるべきで､典型的には､空リストと1 である｡残念ながら全ての Visual Styles 部分は異なる状態値を有し､これはマイクロソフト社の説明書か冒頭ファイルを捜す必要がある｡以前は使用される冒頭ファイルは tmschema.h であったが､最近の ウィンドウズ開発機能揃によると vssym32.h である｡ 　　 The stateMap parameter is a list of ttk states and the corresponding Visual Styles API state value. This permits the element appearance to respond to changes in the widget state such as becoming active or being pressed. The list should be as described for the ttk::style map command but note that the last pair in the list should be the default state and is typically an empty list and 1. Unfortunately all the Visual Styles parts have different state values and these must be looked up either in the Microsoft documentation or more likely in the header files. The original header to use was tmschema.h, but in more recent versions of the Windows Development Kit this is vssym32.h.

もし､ stateMap 假引数が与えられない場合､暗黙の省略時設定の対応は {{} 1} である｡ 　　 If no stateMap parameter is given there is an implicit default map of {{} 1}

### 用例 EXAMPLE

閉鎖用釦を基調とした正しい釦を ttk::button(n) の割付けの変更により作成する｡これはWINDOW 部分の WP_SMALLCLOSEBUTTON を使い､説明されている様に CBS_DISABLED と CBS_HOT と CBS_NORMAL と CBS_PUSHED の状態が ttk 状態から対応付けされている｡ 　　 Create a correctly themed close button by changing the layout of a ttk::button(n). This uses the WINDOW part WP_SMALLCLOSEBUTTON and as documented the states CBS_DISABLED, CBS_HOT, CBS_NORMAL and CBS_PUSHED are mapped from ttk states.

    ttk::style element create smallclose vsapi WINDOW 19 \
        {disabled 4 pressed 3 active 2 {} 1}
    ttk::style layout CloseButton {CloseButton.smallclose -sticky news}
    pack [ttk::button .close -style CloseButton]

Explorer の針部品 EBP_HEADERPIN を使用して ttk::checkbutton(n) の外観を変更する｡ 　　 Change the appearance of a ttk::checkbutton(n) to use the Explorer pin part EBP_HEADERPIN.

    ttk::style element create pin vsapi EXPLORERBAR 3 {
        {pressed !selected} 3
        {active !selected} 2
        {pressed selected} 6
        {active selected} 5
        {selected} 4
        {} 1
    }
    ttk::style layout Explorer.Pin {Explorer.Pin.pin -sticky news}
    pack [ttk::checkbutton .pin -style Explorer.Pin]

### SEE ALSO

ttk::intro, ttk::widget, ttk::style, ttk_image

### KEYWORDS

style, theme, appearance, windows
Copyright © 2008 Pat Thoyts