TclGUI

adducs

gui adducs $guiname $ucshex [$callback]

return success

LISTとCOMBOコントロールにユニコード漢字を追加します

$guinameにはリストかコンボボックスの名称を与えます
$ucshexにはユニコード漢字($ucshex)をUCSHEXコードで与えます
UCSHEXコードはapi Utf8UcsHexコマンドでUTF-8コードから生成できます
$callbackは追加した項目が選択されたときにコールバックされるTclプロシージャを与えます

 コールバックプロシージャのアーギュメント
  guiname index text
   guiname= コントロールの名前
   index = 選択された項目のインデックス
   text = 選択された項目の文字列

参照:gui add

add

gui add $guiname $itemtext [$callback]

return success

リストとコンボボックスコントロールに項目を追加します

項目文字列($itemtext)に

$guinameにはリストかコンボボックスの名称を与えます
$itemtextには項目名を与えます。漢字が含まれる場合はShiftJISコードで与えます
$callbackには追加した項目が選択されたときにコールバックされるTclプロシージャを与えます

 コールバックプロシージャのアーギュメント
  guiname index text
   guiname= コントロールの名前
   index = 選択された項目のインデックス
   text = 選択された項目の文字列
 プロシージャ名に@が含まれていると矢印キーで選択項目が移動されるごとにプロシージャがコールされます
参照:gui adducs

adjustex

gui adjustEx $guiname [$hasmenu]

return success

コントロールがすべて収まるようにウインドウサイズを調節します

$guinameにはウインドウ名を与えます
$hasmenuにはウインドウがメニューを持っていれば1を、持っていなければ0を与えます
 省略すると0と見なされます
参照 gui adjust

adjust

gui adjust $guiname $w $h

指定したサイズのクライアントエリアになるようウインドウサイズを調節します

$guinameにはウインドウ名を与えます
参照 gui adjustEx

alias

gui alias $aliasname {$guiname|-lastcon}

return success

guiコントロールに別名を付けます
別名はguinameを受け取るすべてのguiコマンドで使用できます

$aliasnameには別名を与えます
 別名は存在していない名前を与えなければなりません
 もし既に存在している名前を与えると置き換えられます

$guinameには対象コントロール名を与えます
 -lastconを与えると直前に作成したコントロールを指定することになります

 例
  gui alias 住所 mywin.address

bitmap

gui bitmap $guiname $bitmapname $x $y $w $h [$leftdownproc [$rightdownproc]]

return hwnd

ウインドウにビットマップボタンを作成します
ウインドウハンドルが返ります

$guinameには、親ウインドウ名とコントロールの名前とをピリオドで接続して与えます
 例 mywin.exec
 ウインドウ名を省略すると直前に作成されたウインドウ名がデフォルトになります
 例 .exec

$bitmapnameにはbmp画像ファイル名を与えます(非圧縮bmp)
 画像ファイルはマウスポインタが乗っていない時(normal)に表示する画像です
  ポインタが乗っている時(inside)とクリックされた時(click)とで画像を切り替えたい場合は gui setコマンドで設定できます
 ファイル名は絶対パスで与えます
  例1 C:/application/bmp/save.bmp
  例2 //server/application/bmp/save.bmp
  例3 httphttps:w.Tcl_Freesoftnet.co.jp/application/bmp/save.bmp
 ファイル名ではなくリソースを指定することもできます
  リソースとは画像ファイルの中身がTcl変数にあらかじめセットされたものであり、$bitmapnameにはその変数名を与えます
  例 ::saveimg
  変数にセットする値はイメージをzip圧縮しそれをBASE64エンコードした文字列です(文字列はgui compressBase64で作成できます)

   例 set saveimg {@@BASE64 ...}
$x,$y,$w,$hにはボタンの位置とサイズをピクセル単位で与えます
  例 10 10 32 32

$leftdownprocにはボタン上で左ボタンが押下されたときコールバックされるプロシージャ名を与えます
 コールバックのアーギュメントにはguinameが渡されてきます

$rightdownprocにはボタン上で右ボタンが押下されたときコールバックされるプロシージャ名を与えます
 コールバックのアーギュメントにはguinameが渡されてきます

box

gui box $guiname $left $top $right $bottom

return hwnd

ウインドウに枠線を作成します
ウインドウハンドルが返ります

$guinameには、親ウインドウ名とコントロールの名前とをピリオドで接続して与えます
 例 mywin.box
 ウインドウ名を省略すると直前に作成されたウインドウ名がデフォルトになります
 例 .box
$left,$top,$right,$bottomには枠の左上の座標と右下の座標を与えます
 $leftと$rightにはピクセル値の他、left() right()などのマクロを記述できます
 $topと$bottomにはピクセル値の他、top() bottom()などのマクロを記述できます

参照 gui group

button

gui button $guiname $caption $x $y $w $h [$clickproc] [-large]

return hwnd

ウインドウにボタンコントロールを作成します
ウインドウハンドルが返ります

$guinameには、親ウインドウ名とコントロールの名前とをピリオドで接続して与えます
 例 mywin.exe
 ウインドウ名を省略すると直前に作成されたウインドウ名がデフォルトになります
 例 .exe

$captionにはボタンに表示する文字列を与えます

$x,$y,$w,$hにはボタンの左上の座標と幅、高さを与えます
 $xにはピクセル値の他、left() right()などのマクロを記述できます
 $yにはピクセル値の他、top() bottom()などのマクロを記述できます
 $wと$hは文字サイズの倍数かピクセル値で指定できます
  ピクセル値で指定する場合は数字の末尾にpを付けます
   例 30p 16p
  数字の後に何も付けないかp以外の文字を付けると文字数での指定になります
   例 6w 1.2h ←幅は文字6個分、高さは文字高の1.2倍
   1文字幅は12ピクセルに相当し1文字高は18ピクセルに相当します。1文字幅は漢字1文字幅に該当します。

$clickprocにはボタンがクリックされたときコールバックされるプロシージャ名を与えます
 コールバックのアーギュメントにはgnameが渡されてきます

-largeを与えると、キャプションが標準の1.2倍の大きさで表示されます

check

gui check $guiname $caption $bool $x $y $w $h [clickproc] [-large]

return hwnd

ウインドウにチェックボタンコントロールを作成します
ウインドウハンドルが返ります

$guinameには、親ウインドウ名とコントロールの名前とをピリオドで接続して与えます
 例 mywin.option
 ウインドウ名を省略すると直前に作成されたウインドウ名がデフォルトになります
 例 .option

$captionにはチェック記号の右側に表示する文字列を与えます

$boolには初期状態を与えます。1か0を与えます

$x,$y,$w,$hにはチェックボタンの左上の座標と幅、高さを与えます
 $xにはピクセル値の他、left() right()などのマクロを記述できます
 $yにはピクセル値の他、top() bottom()などのマクロを記述できます
 $wと$hは文字サイズの倍数かピクセル値で指定できます
  ピクセル値で指定する場合は数字の末尾にpを付けます
   例 30p 16p
  数字の後に何も付けないかp以外の文字を付けると文字数での指定になります
   例 6w 1.2h ←幅は文字6個分、高さは文字高の1.2倍
   1文字幅は12ピクセルに相当し1文字高は18ピクセルに相当します。1文字幅は漢字1文字幅に該当します。

$clickprocにはボタンがクリックされたときコールバックされるプロシージャ名を与えます

 コールバックプロシージャのアーギュメント
  guiname value
   guiname= コントロールの名前
   value = 0か1 (変更後の値)

-largeを与えると、キャプションが標準の1.2倍の大きさで表示されます

参照 gui radio

child

gui child $guiname $caption $x $y $w $h [initproc [exitproc [tabproc [repaintproc [leftdownproc [rightdownproc [moveproc [resizeproc]]]]]]]]

return hwnd

ウインドウにチャイルドウインドウを貼ります
ウインドウハンドルが返ります

チャイルドウインドウとは親ウインドウの中に埋め込まれるウインドウであり、親子関係を表す「チャイルド」ではありません。
チャイルドウインドウにはコントロールを配置することができます
 例
  gui child mywin.frame "border" 100 100 200 40
  gui button .exe "実行" 10 10 4w 1.2h
  ※作成されたチャイルドウインドウは親ウインドウに代わって「最後に作成されたウインドウ」になります
   参照 gui lastpanel

$guinameには、親ウインドウ名とチャイルドウインドウの名前とをピリオドで接続して与えます
 例 mywin.frame
 親ウインドウ名を省略すると直前に作成されたウインドウ名がデフォルトになります
 例 .frame

$captionに空文字を与えるとウインドウ枠線を表示しません
 "border"などの何らかの文字を与えると枠線が表示されます

$x,$y,$w,$hにはチェックボタンの左上の座標と幅、高さをピクセル値で与えます

$initprocには作成されてから表示される直前に一回だけコールバックされるプロシージャ名を与えます
 コールバックプロシージャにアーギュメントはありません

$exitprocには閉じられる直前にコールバックされるプロシージャ名を与えます
 コールバックプロシージャにアーギュメントはありません

$tabprocにはウインドウに配置されているタブがクリックされたときにコールバックされるプロシージャ名を与えます
 コールバックプロシージャのアーギュメントにはウインドウ名とクリックされたタブのインデックスが渡されてきます

$repaintprocにはウインドウが再描画の直前にコールバックされるプロシージャ名を与えます
 コールバックプロシージャにアーギュメントはありません

$leftdownprocにはウインドウ内のコントロール外でマウス左ボタンが押下された時にコールバックされるプロシージャ名を与えます
 コールバックプロシージャのアーギュメントにはウインドウ名とポインタの座標が渡されてきます(guiname x y)
 マウスポインタがコントロール上にあるときはコールバックされません

$rightdownprocにはウインドウ内のコントロール外でマウス右ボタンが押下された時にコールバックされるプロシージャ名を与えます
 コールバックプロシージャのアーギュメントにはウインドウ名とポインタの座標が渡されてきます(guiname x y)
 マウスポインタがコントロール上にあるときはコールバックされません

$moveprocにはウインドウ内のコントロール外でマウスポインタが移動された時にコールバックされるプロシージャ名を与えます
 コールバックプロシージャのアーギュメントにはウインドウ名とポインタの座標が渡されてきます(guiname x y)
 マウスポインタがコントロール上にあるときはコールバックされません

$resizeprocにはウインドウのサイズが変更された直後にコールバックされるプロシージャ名を与えます
 コールバックプロシージャのアーギュメントにはウインドウ名と新しい幅と高さが渡されてきます(guiname w h)

clearevent

gui clearEvent [$hwnd]

return 1

イベントキューに溜まっているイベントをクリアします(イベントを捨てます)

$hwndには特定のウインドウにイベントをクリアしたい場合にそのウインドウハンドルを与えます

参照 gui update

click

gui click $hwnd $x $y

return reault

指定ウインドウにクリックイベントを通知します
イベント応答処理が返した値を返します

$hwndにはボタン、チェックボタン、ラジオボタンのウインドウハンドルを与えます
$x,$yにはマウスポインタのピクセル座標を与えます

close

gui close $guiname

return success

ウインドウを閉じます

$guinameには作成するとき与えた名称をフルネームで与えます
 ウインドウハンドルを渡す時は先頭に#を付けます
 例1 gui close mywin
 例2 gui close #$hwnd

clr

gui clr $guiname

return success

リストを持つコントロールや文字入力を受け付けるコントロールの現在値をクリアします

$guinameにはコントロールの名前を与えます

例 gui clr mywin.list
参照 gui cut

column

gui column $guiname $index $size $item

return $index

リストビューのヘッダ部またはリスト部に項目を追加します。
追加されたインデックスが返ります。-1が返ったら失敗です。

$guinameにはgui listviewまたはgui listview_headerでリストビューを作成するときに与えた名称を与えます
$indexには追加する項目のインデックスを与えます
$sizeにはピクセル値で幅を与えます
$itemには項目名を与えます

参照
gui listview
gui item

combo

gui combo $guiname $x $y $w $n [keyinproc] [-large]

return hwnd

ウインドウにコンボボックスを作成します
ウインドウハンドルが返ります

$guinameには、親ウインドウ名とコントロールの名前とをピリオドで接続して与えます
 例 mywin.kind
 ウインドウ名を省略すると直前に作成されたウインドウ名がデフォルトになります
 例 .kind
$x,$y,$wにはボタンの左上の座標と幅を与えます
 $xはピクセル値の他、left() right()などのマクロを記述できます
 $yはピクセル値の他、top() bottom()などのマクロを記述できます
 $wは文字サイズの倍数かピクセル値で指定できます
  ピクセル値で指定する場合は数字の末尾にpを付けます
   例 30p 16p
  数字の後に何も付けないかp以外の文字を付けると文字数での指定になります
   例 6w 1.2h ←幅は文字6個分、高さは文字高の1.2倍
   1文字幅は12ピクセルに相当し1文字高は18ピクセルに相当します。1文字幅は漢字1文字幅に該当します。
$nには展開表示するときのリストの最大行数を与えます。1以上を与えます。
$keyinprocにはキー入力を受け付る場合に、キー入力の都度コールバックされるプロシージャ名を与えます

 コールバックプロシージャのアーギュメント
  guiname crtab text
   guiname= コントロールの名前
   crtab = 0:文字入力 1:入力 2:入力
   text = コントロールの現在の文字列

-largeを与えると、キャプションが標準の1.2倍の大きさで表示されます

参照 gui add
   gui clr

confirm

gui confirm $message [$message2 ...]

return confirm

Yes/No/Cancelの3択ダイアログを表示します
Yesなら1が、Noなら0が、Cancelなら-1が返ります

$messageには表示文字列を与えます
改行したい箇所には\rを記述します
 例:gui confirm 上書きします\r宜しいですか
複数のアーギュメントにて文字列を与えるとそれらは接続されて表示されます

参照
 gui ok
 gui msg
 gui err

compressbase64

gui compressBase64 $infile $outfile

return err

infileファイルを読みoutfileにzlib圧縮してさらにBase64エンコードした
データを書き出す

cmphex

gui CmpHex $infile $outfile $before $after

return err

compressBase64と同じ(互換性維持)

cmpbinbase64

gui CmpBinBase64 $datapointer $datasize $before $after

return base64text

サイズがdatasize、メモリアドレスがdatapointerのデータをzlib圧縮して
さらにBase64エンコードしたデータを返す
失敗したら空文字を返す
エンコードデータに付け加えるヘッダとフッダデータをbeforeとafterに指定する

cursor

gui cursor $kind

return 1

カーソル形状を変更します
イベント応答プロシージャの中で使用します
イベント応答プロシージャが終了すると元に戻ります

$kindには下記のキーワードを与えることができます

wait
arrow
cross
ibeam
sizens
sizewe
sizeall
sizenesw
sizenwse

cut

gui cut $guiname $itemtext

return success

リスト、コンボボックス、ツリーコントロールから指定項目を除外します

$guinameにはリスト、コンボボックス、ツリーコントロールいずれかの名前を与えます
$itemtextには除外したい項目文字列を与えます

例 gui cut mywin.list "不明"
参照 gui clr 

date

gui date

return {Y M D}

今日の日付を得ます
年、月、日が整数リストで返ります
例:"2013 05 01"

decodebase64

gui decodeBase64 $cmpressed_data

return uncompressed_data

[gui encodeBase64]にてエンコードされたデータをデコードして返します(元データを返します)

display

gui display $guiname

return success

作成されたウインドウを表示します

$guinameにはウインドウ名を与えます

ウインドウを作成したあとにこのコマンドで表示します
ウインドウがスクリーンからはみ出さないように自動調整されます
gui serviceコマンドでサービスプロセスに設定されている場合は表示されません
一回だけ、ウインドウを作成するとき指定されたinitprocが実行されます

edit

gui edit $guiname $text $x $y $w $h [keyinproc] [-wantcrtab] [-large]

return hwnd

ウインドウにエディットコントロールを作成します
ウインドウハンドルが返ります

$guinameには、親ウインドウ名とコントロールの名前とをピリオドで接続して与えます
 例 mywin.input
 ウインドウ名を省略すると直前に作成されたウインドウ名がデフォルトになります
 例 .input
$textには初期セット文字を与えます
$x,$y,$w,$hにはコントロールの左上のピクセル座標と幅、高さを与えます
 $xにはピクセル値の他、left() right()などのマクロを記述できます
 $yにはピクセル値の他、top() bottom()などのマクロを記述できます
 $wと$hは文字サイズの倍数かピクセル値で指定できます
  ピクセル値で指定する場合は数字の末尾にpを付けます
   例 30p 16p
  数字の後に何も付けないかp以外の文字を付けると文字数での指定になります
   例 6w 1.2h ←幅は文字6個分、高さは文字高の1.2倍
   1文字幅は12ピクセルに相当し1文字高は18ピクセルに相当します。1文字幅は漢字1文字幅に該当します。
$keyinprocにはキー入力されたときコールバックされるプロシージャ名を与えます

 コールバックプロシージャのアーギュメント
  guiname crtab text
   guiname= コントロールの名前
   crtab = 0:文字入力 1:入力 2:入力
   text = コントロールの現在の文字列

-wantcrtabを与えるとキーが押下されたときもkeyinprocがコールバックされます
-largeを与えると、キャプションが標準の1.2倍の大きさで表示されます

参照 gui password

encodebase64

gui encodeBase64 $infile $outfile $before $after

return err

infileファイルを読みoutfileにBase64エンコードしたデータを書き出す
エンコードデータに付け加えるヘッダとフッダデータをbeforeとafterに指定する
成功したら0を返す

err

gui err $message [$message2 ...]

エラーメッセージを表示します

$messageには表示文字列を与えます
改行したい箇所には\rを記述します
 例:gui err エラーがありました\r文字を入力してください
複数のアーギュメントにて文字列を与えるとそれらは接続されて表示されます

参照
 gui msg
 gui ok
 gui confirm

file

gui file $hwnd $filekind $extensions $dir [$title [$fname]]

return {filepath | null}

読み込み用のファイル選択ダイアログを表示します
選択されたファイルの絶対パスが返ります
キャンセルされた場合は空文字が返ります

$hwndには親ウインドウのハンドルを与えます
例えば[gui get $winmane hwnd] や [gui root]で取得した値です
$filekindにはファイルの種類を説明する文字列を与えます
$extensionsにはファイルの拡張子を与えます(*.txtなど)
$dirにはフォルダ名を与えます。空文字を与えると前回のフォルダが採用されます
$titleにはダイアログのタイトルを与えます。「〜の選択」などです。省略可です。
$fnameには選択するファイル名を与えます。省略可です。

参照:gui mfile
   gui savefile
   gui folder

fire

gui fire $script

return 1

rootウインドウにJavascriptスクリプトを送ります

rootウインドウとはアプリケーションのGUIメインウインドウでありgui rootで設定されます
TCLEXGAUシステムでJavascriptを実行させる時はこのコマンドを使用しています
 この場合にはrootウインドウがActive-X(tclexgau.ocx)コントロールに設定されています
 tclexgau.ocxは受け取ったスクリプトを親たるmapフレームにイベントを通知し、スクリプトをJavascriptとして実行させる仕組みです

fire.*

gui fire.*

MACRO機能で内部使用されるコマンドです
アプリケーションが使用することはありません

gui fire.tree -con conname -item itemname
gui fire.click -con conname -msg message -wm wparam
gui fire.check -con conname -value value -msg message -wm wparam
gui fire.edit -con conname -text text -msg message -wp wparam
gui fire.tab -win panelname -index index
gui fire.combo -con cinname -index index -msg message -wp wparam
gui fire.list -con cinname -index index -msg message -wp wparam
gui fire.mouse {-win|-con} {panelname|conname} -msg message -wp wparam -lp lparam
gui fire.action -text $text

folder

gui folder $phwnd [$folder [$caption]]

return selected_folder

フォルダ選択ダイアログを表示します
選択されたフォルダ名が返ります
選択がキャンセルされた場合には空文字が返ります

$phwnd には親ウインドウハンドルを与えます
例えば[gui get $winmane hwnd] や [gui root]で取得した値です
$folder には候補であるフォルダを与えます(省略可)
$caption にはダイアログのキャプションを与えます(省略可)

get.*

gui get.* [$winname] { $caption | $switch } [$value] [$tabindex]

return namelist

ウインドウやコントロールの名前を、キャプションや値から求めます

キャプションや値は正規表現式で与えます
コントロールが特定できない場合には複数の名前がリストで返されます
*はコントロール種別を特定するための文字列です(buttonやcheckなど)

$winname ウインドウ名。ウインドウ名を求める場合(gui get.win)は指定しません。
$caption キャプションの正規表現式
$switch -からはじまる下記オプション
-cursel これに続く$valueは選択されている項目であることを示す
-list  これに続く$valueはリストの要素であることを示す
$value   値の正規表現式
$tabindex タブのインデックス(コントロールがタブに配置されている場合に必要)

例:
  set winname [gui get.win 印刷設定]
if {[llength $winname]==1} {
    set radioname [gui get.radio $winname ラスタ方式]
    if {[llength $radioname]==1} {
      gui set.fire $win.$radioname 1
    }
  }

gui get.win $caption [$tabindex]

return winnames

キャプションでウインドウ名を探す

gui get.button $winname $caption [$tabindex]

return buttonnames

キャプションでボタンコントロール名を探す

gui get.combo $winname {-cursel $value | -list $item} [$tabindex]

return combonames

選択値またはリストに含まれる項目名でコンボボックス名を探す

gui get.check $winname $caption [$tabindex]

return checknames

キャプションでチェックコントロール名を探す

gui get.edit $winname $value [$tabindex]

return editnames

入力値でエディットコントロール名を探す

gui get.list $winname [{-cursel $value | -list $item}] [$tabindex]

return listnames

選択値またはリストに含まれる項目名でリストコントロール名を探す

gui get.mlist $winname [{-cursel $value | -list $item}] [$tabindex]

return mlistnames

選択値またはリストに含まれる項目名でリストコントロール名を探す

gui get.memo $winname $value [$tabindex]

return controlname

入力値でメモコントロール名を探す

gui get.radio $winname $caption [$tabindex]

return radionames

キャプションでラヂオコントロール名を探す

gui get.rich $winname $value [$tabindex]

return richnames

入力値でリッチコントロール名を探す

gui get.text $winname $value [$tabindex]

return textnames

表示値でテキストコントロール名を探す

gui get.tree $winname {-cursel $value | -list $item} [$tabindex]

return treenames

選択値または項目名でツリーコントロール名を探す

gui get.group $winname $caption

return groupnames

表示値でグループコントロール名を探す

get

gui get $guiname [$kind]

return value

GUIコントロールのプロパティ値を取得します

$guinameには作成するとき与えた名称をフルネームで与えます
 ウインドウハンドルを渡す時は先頭に#を付けます
 例 gui get #$hwnd caption
$kindには下記のキーワードで値を取得したいプロパティを指定します

$kind 戻り値

cption キャプション
hwnd ウインドウハンドル
rect スクリーン上での位置 x y w h
xywh 親ウインドウ内での位置 x y w h
client クライアントサイズ x y w h
show 表示状態 1|0
enable 有効/無効状態 1|0
type コントロールタイプ PANEL|BUTTON|EDIT|TEXT|BOX|LIST|MLIST|COMBO|
    RADIO|CHECK|STATUS|BITMAP|TREEAREA|GROUP|SCROLL|SLIDER|MEMO|RICH
list リスト項目リスト list
parent 親ウインドウハンドル hwnd
child 子ウインドウハンドル hwnd
proc クリックイベントプロシージャ名 callbackname
exitproc ウインドウ終了イベントプロシージャ名 callbackname
tabproc タブクリックイベントプロシージャ名 callbackname
repaintproc 再描画イベントプロシージャ名 callbackname
resizeproc サイズ変更イベントプロシージャ名 callbackname
tabhwnd タブのウインドウハンドル hwnd
focus キー入力を受け付けるウインドウハンドル hwnd

go

gui go $guiname

return success

エディットコントロールにキー入力フォーカスを移動します(カーソル移動)

$guinameにはエディットコントロールか入力可能なコンボボックス名を与えます

例 gui go mywin.editbox

group

gui group $guiname $caption $left $top $right $bottom

return hwnd

関連するコントロールを明示するために、それらを囲む枠を配置します
枠の左上にはキャプションを配置できます
配置に成功するとそのウインドウハンドルを返します

$guinameには、親ウインドウ名とコントロールの名前とをピリオドで接続して与えます
$captionには枠の左上に配置される文字列を与えます
$left,$top,$right,$bottomには左上の座標と右下の座標を与えます
 $left,$rightにはピクセル値の他、left() right()などのマクロを記述できます
 $top,$bottomにはピクセル値の他、top() bottom()などのマクロを記述できます

gui header $guiname $x $y $w $h [-large] [$caption ... $caption]

return hwnd

ヘッダコントロールを作成し、そのウインドウハンドルを返します

$guinameにはコントロール名を与えます
$x $y にはヘッダコントロールの左上のピクセル座標を与えます
$w $h にはヘッダコントロールの幅と高さをピクセル座標を与えます
-largeを与えると文字サイズが大きくなります
$captionには必要な数だけキャプションを与えます。キャプションごとに分割されます。

imagelist

gui imagelist

return {iconname index ...}

内臓されているアイコン名とインデックスのリストを得ます
アイコンのインデックスはツリーコントロールにアイコンを表示するときに使用します

下記のアイコンが登録されています。これらのアイコンを使用するにはインデックスを知る必要があります
 folder,foldersel,display,displayon,displayoff,select,selecton,selectoff,option,optionon,optionoff,clipicon
下記のように使用します
 array set icon_index [gui imagelist]
 set index $icon_index(displayoff)

item

gui item $guiname $row $column

return caption

リストビューの項目名を取り出します

$guinameにはgui listviewでリストビューを作成するときに与えた名称を与えます
$rowには行番号(0から)を与えます
$columnには列番号(0から)を与えます

参照
gui listview
gui column

lastcon

gui lastcon [$hcontrol]

return hcontrol

直前に作成されたコントロールのハンドルを得ます
$hcontrolを与えると、それが「直前に作成されたコントロール」として設定することになります

guiコマンドには直前に作成されたコントロールを参照するものがあります。例えば相対位置を指定するようなケースです。
このコマンドはシステムが記憶している「直前に作成されたコントロール」を記憶して、後に変更したい場合に使用します
$hcontrolはguinameとは異なります。このコマンドでのみ使用可能です。

参照 gui lastpanel

lastpanelname

gui lastpanelname

return guiname

直前に作成されたウインドウの名前(guiname)を返します

参照 gui lastcon
gui lastpanel

lastpanel

gui lastpanel [$hpanel]

return hpanel

$hpanelを省略すると、直前に作成されたウインドウのオブジェクトハンドルを返します
$hpanelを与えると、それが直前に作成されたウインドウになります

コントロールを作成する時に親ウインドウ名を記述しないと、直前に作成されたウインドウルがデフォルトの親ウインドウになります。
このコマンドはシステムが記憶している「直前に作成されたウインドウ」を変更したい場合に使用します
チャイルドウインドウを作成した時に便利なコマンドです。コントロールの親を切り替えることができるからです。
$hpanelはguinameとは異なります。このコマンドでのみ使用可能です。

参照 gui lastcon
gui lastpanelname

listview

gui listview $listviewName $x $y $w $h

return hwnd

リストビューを作成し、ウインドウハンドルを返します

$listviewNameには名前を文字列で与えます
$x $y には配置左上をピクセル座標で与えます
$w $h には幅と高さをピクセル値で与えます

参照
gui column
gui item

list

gui list $guiname $x $y $w $h [-large]

return hwnd

ウインドウにリストボックスを作成します
ウインドウハンドルが返ります
単一選択のリストボックスを作成します
複数選択のリストボックスはgui mlistコマンドで作成できます

$guinameには、親ウインドウ名とコントロールの名前とをピリオドで接続して与えます
 例 mywin.townlist
 ウインドウ名を省略すると直前に作成されたウインドウ名がデフォルトになります
 例 .townlist
$x,$y,$w,$hにはコントロールの左上のピクセル座標と幅、高さを与えます
 $xにはピクセル値の他、left() right()などのマクロを記述できます
 $yにはピクセル値の他、top() bottom()などのマクロを記述できます
 $wと$hは文字サイズの倍数かピクセル値で指定できます
  ピクセル値で指定する場合は数字の末尾にpを付けます
   例 30p 16p
  数字の後に何も付けないかp以外の文字を付けると文字数での指定になります
   例 6w 1.2h ←幅は文字6個分、高さは文字高の1.2倍
   1文字幅は12ピクセルに相当し1文字高は18ピクセルに相当します。1文字幅は漢字1文字幅に該当します。

logopen

gui logopen [$text] [$logfilename]

ログファイルへの記録を開始します
gui msgによるメッセージ表示を抑制し、その代わりにログファイルに出力します
ログファイルへの記録を終了するにはgui logcloseを実行します
既存のログファイルは空にされます

$textにはログファイルの先頭行に書き込む文字列を与えます
$logfilenameを与えるとログファイル名を指定することができます
ログファイル名のデフォルトは"guimsg.log"です。作業フォルダに作成されます

logclose

gui logclose [open]

ログファイルをクローズします
何らかのアーギュメントを与えるとログファイルが空でなければ内容を表示します
表示は拡張子.logに関連づけられているプログラムに委ねられます

参照:gui logopen

macro

gui macro [$onoff]

return onoff

マクロ機能を制御します
マクロ機能はguiが管理するウインドウでのイベントを記録する機能です
記録したイベントを再生するとオペレーションの繰り返しが実現します

$onoffには1か0を与え、マクロ機能のON/OFFを行います
$onoffを省略すると現在の状態(1か0)が返ります
ただし、マクロ機能がONでもsleep状態にあるときは0が返ります

gui macro.native

return onoff

現在のマクロ機能の状態(1か0)が返ります
sleep状態か否かは判断しません

gui macro.sleep

return onoff

マクロ機能をsleep状態にします

gui macro.wakeup

return onoff

マクロ機能をsleep状態から有効に戻します

rich

gui rich $guiname $text $x $y $w $h [keyinproc] [-large]

return hwnd

ウインドウにリッチエディットコントロールを作成します
ウインドウハンドルが返ります
リッチエディットコントロールにはrichフォーマット文字列を表示することができます
richフォーマット文字列はMicrosoft Wordで作成することができます
また、プログラムで作成するときはgui richtextコマンドが補助してくれます

$guinameには、親ウインドウ名とコントロールの名前とをピリオドで接続して与えます
 例 mywin.document
 ウインドウ名を省略すると直前に作成されたウインドウ名がデフォルトになります
 例 .document
$textには初期セット文字を与えます
$x,$y,$w,$hにはコントロールの左上のピクセル座標と幅、高さを与えます
 $xにはピクセル値の他、left() right()などのマクロを記述できます
 $yにはピクセル値の他、top() bottom()などのマクロを記述できます
 $wと$hは文字サイズの倍数かピクセル値で指定できます
  ピクセル値で指定する場合は数字の末尾にpを付けます
   例 30p 16p
  数字の後に何も付けないかp以外の文字を付けると文字数での指定になります
   例 6w 1.2h ←幅は文字6個分、高さは文字高の1.2倍
   1文字幅は12ピクセルに相当し1文字高は18ピクセルに相当します。1文字幅は漢字1文字幅に該当します。
$keyinprocにはキー入力されたときコールバックされるプロシージャ名を与えます

 コールバックプロシージャのアーギュメント
  guiname crtab text
   guiname= コントロールの名前
   crtab = 0:文字入力 1:入力 2:入力
   text = コントロールの現在の文字列

-largeを与えると、キャプションが標準の1.2倍の大きさで表示されます

参照 gui edit
   gui memo
   gui password

root

gui root [$hwnd]

return $hwnd

rootウインドウのハンドルを取得します
$hwndを与えると変更することができます
rootウインドウのウインドウハンドルが返ります

rootウインドウとはアプリケーションのメインウインドウであり、TclWin.exeで作成されたウインドウか、ocxのウインドウです

savedir

gui savedir $hwnd [$dir [$caption]]

return {folder|null}

ツリーからフォルダを選択することができるダイアログを表示します
選択されたフォルダ名が返ります。キャンセルされた場合は空文字が返ります

$hwndには親となるウインドウハンドルを与えます
例えばgdiのcanvasハンドルなど
$dirにはデフォルトフォルダ名を与えます
そのフォルダが選択状態になってダイアログが表示されます
$captionにはダイアログのキャプションを与えます

savefile

gui savefile $hwnd $filekind $wild_card $dir [$title [$fname]]

return {filepath | null}

保存するファイルを選択するダイアログを表示します
選択したファイルが既存の場合は上書き確認が求められます
ファイル名が返ります。キャンセルされたら空文字が返ります

参照:gui file
   gui mfile
   gui folder

scale

gui scale [$val]

return oldscale

ウインドウやコントロールのサイズに対するスケーリング値をセットします
$valのスケール値は実数で与えます
旧スケール値が返ります

スケーリングはgui setgui getコマンド及びウインドウとコントロール作成コマンドのみに機能します
例えばスケール値が1.5に設定されるとgui setコマンドでサイズを与えると1.5倍したサイズが与えられたことになります
あるいはgui getでサイズを取得すると、その値は1/1.5倍された値が返ります

scroll

gui scroll $guiname $hv $max $page $pos $x $y $w $h [$proc]

return hwnd

スクロールバーを作成します
ウインドウハンドルが返ります

$guinameには、親ウインドウ名とコントロールの名前とをピリオドで接続して与えます
 例 mywin.hscroll
 ウインドウ名を省略すると直前に作成されたウインドウ名がデフォルトになります
 例 .hscroll
$hvには'h'か'v'を与えます
 hを与えると水平スクロールバーが作成されます
 vを与えると垂直スクロールバーが作成されます
$maxにはスクロールバー全体に対応する値を整数で与えます
 例えば1000行のテキストデータを垂直スクロールするものなら1000を与えます(垂直スクロールバー)
 例えば200文字のテキストデータを水平スクロールするものなら200を与えます(水平スクロールバー)
$pageには現在の表示範囲を与えます
 例えば35行表示している状態なら35を与えます(垂直スクロールバー)
 例えば80文字表示している状態なら80を与えます(水平スクロールバー)
$posには表示先頭位置を与えます
 例えば15行目から表示している状態なら15を与えます(垂直スクロールバー)
 例えば20文字目から表示している状態なら20を与えます(水平スクロールバー)
$x,$y,$w,$hにはコントロールの左上のピクセル座標とサイズを与えます
 $xにはピクセル値の他、left() right()などのマクロを記述できます
 $yにはピクセル値の他、top() bottom()などのマクロを記述できます
 $wと$lenは文字サイズの倍数かピクセル値で指定できます
  水平スクロールバーなら$wは長さで$hはバーの幅です
  垂直スクロールバーなら$wはバーの幅で$hは長さです
  ピクセル値で指定する場合は数字の末尾にpを付けます
   例 30p 16p
  数字の後に何も付けないかp以外の文字を付けると文字数での指定になります
   例 6w 1.2h ←幅は文字6個分、高さは文字高の1.2倍
   1文字幅は12ピクセルに相当し1文字高は18ピクセルに相当します。1文字幅は漢字1文字幅に該当します。
 $procにはスクロールバーが操作された場合のイベントプロシージャ名を与えます
  イベントプロシージャのアーギュメントにはguiname posが渡されてきます
   posには新しい表示範囲の先頭値がセットされてきます

スクロールバーをプログラムから操作するには gui set コマンドを用います
  gui set $win.scroolh $max $page $pos

selected

gui selected $filename

return bool

ファイル名が「ファイル選択ダイアログ」にて直前に選択されたファイルであるか否かを判定します

$filenameにはファイル名をフルパスで与えます

このコマンドはアプリケーションで使用することはありません
インターネット運用において、ユーザーが選択したファイルにのみアクセスを限定するためにシステムが使用しています

sel.fire

gui sel.fire $guiname $index

リストコントロール及びコンボボックスコントロールの項目をプログラムから選択し、合わせてイベントプロシージャを実行します

$guinameにはリストコントロールかコンボボックスコントロールの名前を与えます
$indexには0から始まる項目のインデックスを指定します
 -1を与えると選択状態をキャンセルします


 gui sel.fire mywin.listbox 0
参照 gui sel

sel

gui sel $guiname $index

リストコントロール及びコンボボックスコントロールの項目をプログラムから選択します
イベントプロシージャはコールしません

$guinameにはリストコントロールかコンボボックスコントロールの名前を与えます
$indexには0から始まる項目のインデックスを指定します
 -1を与えると選択状態をキャンセルします


 gui set mywin.listbox 0
参照 gui sel.fire

service

gui service [$onoff]

return $onoff

プロセスをサービスモードに設定します

$onoffには1か0を与えます
省略すると現在の状態が返ります

サービスモードに設定するとすべてのウインドウは表示されません
参照 gui disp

set.fire

gui set.fire $guiname [$kind] [$value]

return success

GUIコントロールのプロパティを変更し、その後イベントプロシージャを実行します
アーギュメントはgui setと同じです
ボタンコントロールに対して実行するとクリックイベントプロシージャを実行します
  例:gui set.fire $button
参照 gui set

set

gui set $guiname [$kind] [$value ...]

return success

GUIコントロールのプロパティを変更します

$guinameには作成するとき与えた名称をフルネームで与えます
 ウインドウハンドルを渡す時は先頭に#を付けます
 例 gui set #$hwnd "hello"
$kindにはプロパティを表すキーワードで与えます
$valueには$kindが期待する値を与えます

使用例
  gui window mywin "サンプル" 10 10 300 300
  gui edit .text "" 10 10 10w 1h
gui button .close "閉じる" 10 30 4w 1.2h "gui close sample"
  gui display mywin

  gui set mywin.text "this is a edit control."

$kind 意味 例

省略 キャプションの変更 gui set mywin.text hello window
  ビットマップボタンの場合は通常時に表示するbitmapファイル gui set mywin.bmp c:/application/img/save.bmp
  リストやコンボボックスの場合は選択項目文字 gui set mywin.list 東京都
  チェック、ラジオボタンの場合は値の変更 gui set mywin.check 1
  スクロールバー、スライダーの場合はポジション gui set mywin.hscroll $max $page $top
caption キャプション変更 gui set mywin.text caption hello
show 表示する gui set mywin show
hide 非表示にする gui set mywin hide
rect スクリーン上での位置(x,y)とサイズ(w,h)の変更 gui set mywin rect 100 100 500 300
xywh 親ウインドウ内での位置(x,y)とサイズ(w,h)の変更 gui set mywin.close xywh 30 40 45 16
normal ビットマップボタンの通常時に表示するbitmapファイル名 gui set mywin.bmp normal c:/application/img/save.bmp
inside ビットマップボタンのonマウス時に表示するbitmapファイル名 gui set mywin.bmp inside c:/application/img/save_on.bmp
click ビットマップボタンのクリック時に表示するbitmapファイル名 gui set mywin.bmp click c:/application/img/save_down.bmp
help ビットマップボタンのHELP文字列 gui set mywin.bmp help 保存します
enable 有効化する gui set mywin.close enable
disable 無効化する gui set mywin.close disable
exitproc ウインドウが閉じられる直前のコールバックプロシージャ名 gui set mywin exitproc [thisclass]::exitwin
tabproc タブコントロールがクリックされたときのコールバックプロシージャ名 gui set mywin tabproc [thisclass]::ontabclick
repaintproc ウインドウが再描画される直前のコールバックプロシージャ名 gui set mywin repaintproc [thisclasss]::onrepaint
resizeproc ウインドウがリサイズされた直後のコールバックプロシージャ名 gui set mywin rezizeproc [thisclass]::onresize
proc コントロールがクリックされた時のコールバックプロシージャ名 gui set mywin.close proc [thisclass]::onclick
rproc ウインドウ上でマウス右ボタンがクリックされた時のコールバックプロシージャ名 gui set mywin rproc [thisclass]::showxy
active ウインドウをアクティブにする gui set mywin active
parent 親ウインドウを設定する gui set mywin parent $parentwin
topmost ウインドウを常に最前面に表示する gui set mywin topmost
bottom ウインドウを最背面に移動する gui set mywin bottom
clipchildren 子ウインドウの範囲は再描画しない gui set mywin clipchildren
maxsize ウインドウを最大サイズで表示 gui set mywin maxsize
minsize ウインドウを最小サイズで表示 gui set mywin minsize
normal ウインドウを元のサイズで表示 gui set mywin normalsize
focus キー入力を受け付けるウインドウに設定 gui set mywin focus
taskbar 最小サイズになった時はタスクバーに格納する gui set mywin taskbar; gui set mywin minsize

参照 gui sel.fire

slider

gui slider $guiname $hv $max $page $pos $x $y $w $h [$proc]

return hwnd

スライダーバーを作成します
ウインドウハンドルが返ります

$guinameには、親ウインドウ名とコントロールの名前とをピリオドで接続して与えます
 例 mywin.hscroll
 ウインドウ名を省略すると直前に作成されたウインドウ名がデフォルトになります
 例 .hscroll
$hvには'h'か'v'を与えます
 hを与えると水平スライダーバーが作成されます
 vを与えると垂直スライダーバーが作成されます
$maxにはスライダーバー全体に対応する値を整数で与えます
 例えば1000行のテキストデータを垂直スクロールするものなら1000を与えます(垂直スライダーバー)
 例えば200文字のテキストデータを水平スクロールするものなら200を与えます(水平スライダーバー)
$pageには現在の表示範囲を与えます
 例えば35行表示している状態なら35を与えます(垂直スライダーバー)
 例えば80文字表示している状態なら80を与えます(水平スライダーバー)
$posには表示先頭位置を与えます
 例えば15行目から表示している状態なら15を与えます(垂直スライダーバー)
 例えば20文字目から表示している状態なら20を与えます(水平スライダーバー)
$x,$y,$w,$hにはコントロールの左上のピクセル座標とサイズを与えます
 $xにはピクセル値の他、left() right()などのマクロを記述できます
 $yにはピクセル値の他、top() bottom()などのマクロを記述できます
 $wと$lenは文字サイズの倍数かピクセル値で指定できます
  水平スライダーバーなら$wは長さで$hはバーの幅です
  垂直スライダーバーなら$wはバーの幅で$hは長さです
  ピクセル値で指定する場合は数字の末尾にpを付けます
   例 30p 16p
  数字の後に何も付けないかp以外の文字を付けると文字数での指定になります
   例 6w 1.2h ←幅は文字6個分、高さは文字高の1.2倍
   1文字幅は12ピクセルに相当し1文字高は18ピクセルに相当します。1文字幅は漢字1文字幅に該当します。
 $procにはスライダーバーが操作された場合のイベントプロシージャ名を与えます
  イベントプロシージャのアーギュメントにはguiname posが渡されてきます
   posには新しい表示範囲の先頭値がセットされてきます

スライダーバーをプログラムから操作するには gui set コマンドを用います
  gui set $win.scroolh $max $page $pos

status

gui status $guiname $text $x $y $w $h [-large]

return hwnd

ウインドウにステータスバーを作成します
ウインドウハンドルが返ります

$guinameには、親ウインドウ名とコントロールの名前とをピリオドで接続して与えます
 例 mywin.status
 ウインドウ名を省略すると直前に作成されたウインドウ名がデフォルトになります
 例 .status
$textには初期セット文字を与えます
$x,$y,$w,$hにはコントロールの左上のピクセル座標と幅、高さを与えます
 $xにはピクセル値の他、left() right()などのマクロを記述できます
 $yにはピクセル値の他、top() bottom()などのマクロを記述できます
 $wと$hは文字サイズの倍数かピクセル値で指定できます
  ピクセル値で指定する場合は数字の末尾にpを付けます
   例 30p 16p
  数字の後に何も付けないかp以外の文字を付けると文字数での指定になります
   例 6w 1.2h ←幅は文字6個分、高さは文字高の1.2倍
   1文字幅は12ピクセルに相当し1文字高は18ピクセルに相当します。1文字幅は漢字1文字幅に該当します。

-largeを与えると、キャプションが標準の1.2倍の大きさで表示されます

参照 gui text

tabresize

gui tabresize $tabhwnd [$x [$y [$w [$h]]]]

タブをリサイズします
サイズはタブコントロールそのものではなく、タブコントロールで表示制御される下部領域です

$tabhwndにgui tabが返したウインドウハンドルを与えます
$x $y $w $h にピクセル単位で位置とサイズを与えます
  $x $y はタブが貼られているウインドウ内のローカル座標です
  $w $h はタブ部と下部領域全体のサイズです

tab

gui tab $parent_guiname $x $y $w $h $tab1 $tab2 ...

return hwnd

ウインドウにタブを貼り付けます
タブは項目をクリックすることにより下部の領域を表示ON/OFFできるコントロールです
返されるウインドウハンドルは下部領域(スタティックコントロール)のハンドルです

$parent_guiname にはタブを貼り付けるウインドウ名を与えます
$x $y $w $h にピクセル単位で位置とサイズを与えます
  $x $y はタブが貼られているウインドウ内のローカル座標です
  $w $h はタブ部と下部領域全体のサイズです

text

gui text $guiname $text $x $y $w $h [-large]

return hwnd

ウインドウにテキストコントロールを作成します
ウインドウハンドルが返ります

$guinameには、親ウインドウ名とコントロールの名前とをピリオドで接続して与えます
 例 mywin.text
 ウインドウ名を省略すると直前に作成されたウインドウ名がデフォルトになります
 例 .text
$textには初期セット文字を与えます
$x,$y,$w,$hにはコントロールの左上のピクセル座標と幅、高さを与えます
 $xにはピクセル値の他、left() right()などのマクロを記述できます
 $yにはピクセル値の他、top() bottom()などのマクロを記述できます
 $wと$hは文字サイズの倍数かピクセル値で指定できます
  ピクセル値で指定する場合は数字の末尾にpを付けます
   例 30p 16p
  数字の後に何も付けないかp以外の文字を付けると文字数での指定になります
   例 6w 1.2h ←幅は文字6個分、高さは文字高の1.2倍
   1文字幅は12ピクセルに相当し1文字高は18ピクセルに相当します。1文字幅は漢字1文字幅に該当します。

-largeを与えると、キャプションが標準の1.2倍の大きさで表示されます

参照 gui status

tree.*

gui tree.*

ツリーコントロールを操作します

gui tree.hwnd $htree

return hwnd

ツリー選択情報ハンドルからツリーコントロールのウインドウハンドルを求めます

$htreeにはツリー選択情報ハンドルを与えます
 ツリー選択情報ハンドルは、ツリーがクリックされたときのコールバック関数のアーギュメントに渡されてきます
 そのツリー選択情報ハンドルからツリーコントロールのウインドウハンドルを取得するときに使用します
 返されたウインドウハンドルは、ツリーコントロール名から求められるウインドウハンドルと同じです
  [gui tree.hwnd $htree]==[gui get mywin.treeA hwnd]
ツリー選択時のコールバック関数の中で利用します

gui tree.item $htree

return hitemobj

選択されている項目のオブジェクトハンドルを得ます

$htreeにはツリー選択情報ハンドルを与えます
 ツリー選択情報ハンドルは、ツリーがクリックされたときのコールバック関数のアーギュメントに渡されてきます
ツリー選択時のコールバック関数の中で利用します

gui tree.select $hwnd $hitemobj

return 1

項目を選択します

$hwndにはツリーコントロールのウインドウハンドルを与えます
$hitemobjにはツリー項目オブジェクトハンドルを与えます
 gui tree.itemで求めることができます

gui tree.unselect $hwnd

return 1

ツリーコントロールの選択を解除します

$hwndにはツリーコントロールのウインドウハンドルを与えます
使用例
 gui tree.unselect [gui get mywin.treeA hwnd]

gui tree.item $treename $itemtext

return {hwnd hitemobj}

ツリーコントロールの名称と項目名から、ツリーコントロールのウインドウハンドル(hwnd)と項目オブジェクトハンドル(hitemobj)を得ます

使用例
lscan [gui tree.item mywin.treeA 東京都.葛飾区.柴又] hwnd hitemobj

gui tree.parent $hwnd $hitemobj

return hitemobj

親の項目オブジェクトハンドルを得ます

$hwndにはツリーコントロールのウインドウハンドルを与えます
$hitemobjにはツリー項目オブジェクトハンドルを与えます
 ツリー選択時のコールバック関数のアーギュメントに渡されてきます
 gui tree.itemで求めることもできます

gui tree.child $hwnd $hitemobj

return hitemobj

子の項目オブジェクトハンドルを得ます

$hwndにはツリーコントロールのウインドウハンドルを与えます
$hitemobjにはツリー項目オブジェクトハンドルを与えます
 ツリー選択時のコールバック関数のアーギュメントに渡されてきます
 gui tree.itemで求めることもできます

gui tree.brother $hwnd $hitemobj

return {hitemobj ...}

兄弟項目オブジェクトハンドルをリストで得ます

$hwndにはツリーコントロールのウインドウハンドルを与えます
$hitemobjにはツリー項目オブジェクトハンドルを与えます
 ツリー選択時のコールバック関数のアーギュメントに渡されてきます
 gui tree.itemで求めることもできます

gui tree.delete $hwnd $hitemobj

return 1

項目を削除します

$hwndにはツリーコントロールのウインドウハンドルを与えます
$hitemobjにはツリー項目オブジェクトハンドルを与えます
 ツリー選択時のコールバック関数のアーギュメントに渡されてきます
 gui tree.itemで求めることもできます

gui tree.text $hwnd $hitemobj [$text]

return text

ツリーコントロールのウインドウハンドルと項目オブジェクトハンドルから項目文字列を得ます
項目文字列をセットすることもできます($textを与えた場合)

$hwndにはツリーコントロールのウインドウハンドルを与えます
$hitemobjにはツリー項目オブジェクトハンドルを与えます
 ツリー選択時のコールバック関数のアーギュメントに渡されてきます

ツリー選択時のコールバック関数の中で利用します

gui tree.jointext $hwnd $hitemobj

「親.子.孫」形式の連結項目名を得ます

$hwndにはツリーコントロールのウインドウハンドルを与えます
$hitemobjにはツリー項目オブジェクトハンドルを与えます
 ツリー選択時のコールバック関数のアーギュメントに渡されてきます

ツリー選択時のコールバック関数の中で利用します

gui tree.image $hwnd $itemobj [$imageid]

return oldimageid

指定した項目のアイコンをセットします
前の値が返ります

$hwndにはツリーコントロールのウインドウハンドルを与えます
$itemobjにはツリー項目オブジェクトハンドルを与えます
 gui tree.itemで得ることができます
$imageidにはgui imagelistで取得したアイコンイメージインデックスを与えます
 省略すると現在のイメージインデックスを得ることができます

gui tree.selectimage $hwnd $itemobj [$imageid]

指定した項目のセレクション状態時のアイコンをセットします
前の値が返ります

$hwndにはツリーコントロールのウインドウハンドルを与えます
$itemobjにはツリー項目オブジェクトハンドルを与えます
 gui tree.itemで得ることができます
$imageidにはgui imagelistで取得したアイコンイメージインデックスを与えます
 省略すると現在のイメージインデックスを得ることができます

 tree

 gui tree $guiname $x $y $w $h [-split $char] [-large]

return hwnd

ツリーコントロールを作成します
ウインドウハンドルが返ります

$guinameには、親ウインドウ名とコントロールの名前とをピリオドで接続して与えます
 例 mywin.tree
 ウインドウ名を省略すると直前に作成されたウインドウ名がデフォルトになります
 例 .tree
$x,$y,$w,$hにはコントロールの左上のピクセル座標と幅、高さを与えます
 $xにはピクセル値の他、left() right()などのマクロを記述できます
 $yにはピクセル値の他、top() bottom()などのマクロを記述できます
 $wと$hは文字サイズの倍数かピクセル値で指定できます
  ピクセル値で指定する場合は数字の末尾にpを付けます
   例 30p 16p
  数字の後に何も付けないかp以外の文字を付けると文字数での指定になります
   例 6w 1.2h ←幅は文字6個分、高さは文字高の1.2倍
   1文字幅は12ピクセルに相当し1文字高は18ピクセルに相当します。1文字幅は漢字1文字幅に該当します。
-split $char は階層構造の区切りコードを'.'から別の文字に変更したい場合にその文字を与えます
   例:-split \t
-largeを与えると、キャプションが標準の1.2倍の大きさで表示されます

イベントプロシージャは項目を追加するときにgui addコマンドにて項目ごとに与えますが、プロシージャの名称に@が付いていると、矢印キーで項目を選択するたびにイベントプロシージャがコールされます

uncompressbase64

gui uncompressBase64 $cmpressed_data

return uncompressed_data

[gui CmpHex]で書き出されたファイルの全データを受け取り、解凍データを返す

uncmphex

gui UnCmpHex $compressed_data

return uncompressed_data

uncompressBase64と同(互換性維持)

update

gui update

処理待ちになっているイベントを処理して画面を更新します
このコマンドはイベントプロシージャの中で実行することに意味があります
処理時間がかかる時、「応答なし」にならぬよう時々Windowsに制御を戻す機能です

version

gui version

return version

guiのバージョンを返します

window

gui window $guiname $caption $x $y $w $h [initproc [exitproc [tabproc [repaintproc [leftdownproc [rightdownproc [moveproc [resizeproc]]]]]]]]

return hwnd

ウインドウを作成します
ウインドウハンドルが返ります

$guinameには、親ウインドウ名と新ウインドウの名前とをピリオドで接続して与えます
 例 appwin.mywin
 親ウインドウ名が無い場合はrootウインドウの子になります(gui root参照)
 例 mywin

$captionにはウインドウタイトルを与えます

$x,$y,$w,$hにはチェックボタンの左上の座標と幅、高さをピクセル値で与えます

$initprocには作成されてから表示される直前に一回だけコールバックされるプロシージャ名を与えます
 コールバックプロシージャにアーギュメントはありません

$exitprocには閉じられる直前にコールバックされるプロシージャ名を与えます
 コールバックプロシージャにアーギュメントはありません

$tabprocにはウインドウに配置されているタブがクリックされたときにコールバックされるプロシージャ名を与えます
 コールバックプロシージャのアーギュメントにはウインドウ名とクリックされたタブのインデックスが渡されてきます

$repaintprocにはウインドウが再描画の直前にコールバックされるプロシージャ名を与えます
 コールバックプロシージャにアーギュメントはありません

$leftdownprocにはウインドウ内のコントロール外でマウス左ボタンが押下された時にコールバックされるプロシージャ名を与えます
 コールバックプロシージャのアーギュメントにはウインドウ名とポインタの座標が渡されてきます(guiname x y)
 マウスポインタがコントロール上にあるときはコールバックされません

$rightdownprocにはウインドウ内のコントロール外でマウス右ボタンが押下された時にコールバックされるプロシージャ名を与えます
 コールバックプロシージャのアーギュメントにはウインドウ名とポインタの座標が渡されてきます(guiname x y)
 マウスポインタがコントロール上にあるときはコールバックされません

$moveprocにはウインドウ内のコントロール外でマウスポインタが移動された時にコールバックされるプロシージャ名を与えます
 コールバックプロシージャのアーギュメントにはウインドウ名とポインタの座標が渡されてきます(guiname x y)
 マウスポインタがコントロール上にあるときはコールバックされません

$resizeprocにはウインドウのサイズが変更された直後にコールバックされるプロシージャ名を与えます
 コールバックプロシージャのアーギュメントにはウインドウ名と新しい幅と高さが渡されてきます(guiname w h)