TclGUI
- A
- add
- adducs
- adjust
- adjustex
- alias
- B
- bitmap
- box
- button
- C
- check
- child
- clearevent
- click
- close
- clr
- cmpbinbase64
- cmphex
- column
- combo
- compressbase64
- confirm
- cursor
- cut
- D
- date
- decodebase64
- display
- E
- edit
- encodebase64
- err
- F
- file
- fire
- fire.*
- folder
- G
- get
- get.*
- go
- group
- H
- header
- I
- imagelist
- item
- J
- K
- L
- lastcon
- lastpanel
- lastpanelname
- list
- listview
- logclose
- logopen
- M
- macro
- N
- O
- P
- Q
- R
- rich
- root
- S
- savedir
- savefile
- scale
- scroll
- sel
- sel.fire
- selected
- service
- set
- set.fire
- slider
- status
- T
- tab
- tabresize
- text
- tree.*
- U
- uncmphex
- uncompressbase64
- update
- V
- version
- W
- window
- X
- Y
- Z
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には項目名を与えます
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:
text = コントロールの現在の文字列
-largeを与えると、キャプションが標準の1.2倍の大きさで表示されます
confirm
gui confirm $message [$message2 ...]
return confirm
Yes/No/Cancelの3択ダイアログを表示します
Yesなら1が、Noなら0が、Cancelなら-1が返ります
$messageには表示文字列を与えます
改行したい箇所には\rを記述します
例:gui confirm 上書きします\r宜しいですか
複数のアーギュメントにて文字列を与えるとそれらは接続されて表示されます
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:
text = コントロールの現在の文字列
-wantcrtabを与えると
-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文字を入力してください
複数のアーギュメントにて文字列を与えるとそれらは接続されて表示されます
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には選択するファイル名を与えます。省略可です。
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()などのマクロを記述できます
header
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から)を与えます
lastcon
gui lastcon [$hcontrol]
return hcontrol
直前に作成されたコントロールのハンドルを得ます
$hcontrolを与えると、それが「直前に作成されたコントロール」として設定することになります
guiコマンドには直前に作成されたコントロールを参照するものがあります。例えば相対位置を指定するようなケースです。
このコマンドはシステムが記憶している「直前に作成されたコントロール」を記憶して、後に変更したい場合に使用します
$hcontrolはguinameとは異なります。このコマンドでのみ使用可能です。
lastpanelname
gui lastpanelname
return guiname
直前に作成されたウインドウの名前(guiname)を返します
lastpanel
gui lastpanel [$hpanel]
return hpanel
$hpanelを省略すると、直前に作成されたウインドウのオブジェクトハンドルを返します
$hpanelを与えると、それが直前に作成されたウインドウになります
コントロールを作成する時に親ウインドウ名を記述しないと、直前に作成されたウインドウルがデフォルトの親ウインドウになります。
このコマンドはシステムが記憶している「直前に作成されたウインドウ」を変更したい場合に使用します
チャイルドウインドウを作成した時に便利なコマンドです。コントロールの親を切り替えることができるからです。
$hpanelはguinameとは異なります。このコマンドでのみ使用可能です。
listview
gui listview $listviewName $x $y $w $h
return hwnd
リストビューを作成し、ウインドウハンドルを返します
$listviewNameには名前を文字列で与えます
$x $y には配置左上をピクセル座標で与えます
$w $h には幅と高さをピクセル値で与えます
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:
text = コントロールの現在の文字列
-largeを与えると、キャプションが標準の1.2倍の大きさで表示されます
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}
保存するファイルを選択するダイアログを表示します
選択したファイルが既存の場合は上書き確認が求められます
ファイル名が返ります。キャンセルされたら空文字が返ります
scale
gui scale [$val]
return oldscale
ウインドウやコントロールのサイズに対するスケーリング値をセットします
$valのスケール値は実数で与えます
旧スケール値が返ります
スケーリングはgui setとgui 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)