TclGUI

gui Window $WindowName $Title $X $Y $W $H $InitProc
$ExitProc $TabProc $RepaintProc
gui Window park 公園施設管理 890 5 350.5w 272.5h
initpark
exitpark tabpark
$WindowName
親ウィンドウ名と自分の名前を.で結んだ文字列(例:Park.Settei)。
親名がなく、自分の名前のみの場合はトップウインドウ(上例ではpark)
※TclWin.EXE環境でウインドウを作成する時は、ウインドウ名に「TclWin」を
使用しないで下さい。
$Title
ウィンドウタイトルとして表示される文字(NULL可)
$X $Y
ウィンドウ左上隅の座標(スクリーン座標系・ピクセル) (上例では890
5)
$W $H
ウィンドウ幅(ピクセル)とウィンドウ高さ(ピクセル)を文字幅の倍数
(実数値:上例では350.5w 272.5h)もしくは、ピクセル値(例:200P)で与える。
$InitProc
ウィンドウが作成されるとき一回だけ実行するプロシージャ名(省略可)。
プロシージャはアーギュメントなし
proc createproc {} {
………………
}
$ExitProc
ウィンドウが閉じられる時必ず実行されるプロシージャ名(省略可)。
プロシージャはアーギュメントなし
proc exitproc {} {
………………
}
$TabProc
タブが切り替えられた時実行されるプロシージャ名(省略可)。
プロシージャは新しいタブ番号をアーギュメントに受け取る。
proc tabproc tab {
………………
}
$RepaintProc
ウインドウが再描画されるとき実行されるプロシージャ名(省略可)
パネル
gui Panel
タイトルバーがないウインドウを作成します。
Windowとアーギュメントは同じです。
ただしTitleに"norborder"を与えるとウインドウ枠も表示されません。
ポップアップされない子ウインドウを作成します。
Windowとアーギュメントは同じですが、配置位置は親ウインドウ内の座標です。
WindowNameには親ウインドウの名前を付けて正しく親子関係を与えます。
Titleに空文字を与えるとウインドウ枠も表示されません。

gui Tab $WindowName $X $Y $W $H $TabTitle1 $TabTitle2……
gui Tab . 0 0 338 208 施 設 樹 木 その他
$WindowName
タブを作成する親ウィンドウ名。(.のみ与えると直前に作成されたウィンドウ)
自分の名前はない。
上例では施 設・樹 木・その他の3つのタブを作成している。
"施 設""樹 木"のような文字中のブランクは、全角ブランクであること。
$X $Y
親ウィンドウ座標系での左上隅の座標(ピクセル)
上例では0・0を与え、自動設定
$W $H
幅(ピクセル)・高さ(ピクセル)
上例では338 208
XYWH全てに0を与えると位置及びサイズが自動設定され、親ウィンドウ全体に
タブコントロールが配置される。
$TabTitle
タブタイトルリスト。
定義順にシステム内で番号が振られて管理される(0から)。
その番号はコントロールを配置するときに用いる。

gui Button $ControlName $Label $X $Y $cW $cH $ButtonProc
gui Button0 .b1 実行 287 20 3.2W 1.5h "施設::分類別検索Proc"
または(相対座標の場合)
gui Button0 .b1 実行 right()+10 top()-1 3.2W 1.5h "施設::分類別検索Proc"
Button
Buttonのみの場合はウィンドウにレイアウトし、Button2のように番号が付くと
タブコントロール内にレイアウトする。
数字はタブタイトル番号(0から)。
$ControlName
配置するウインドウ名 (省略すると直前に作成されたウィンドウ)と自分の名前(必須)を
.で結んだ文字列。
名前のみ(.なし)は許されない。
上例では.b1。親パネルを省略している。
$Label
ラベル 上例では実行ボタンが作成される
$X $Y
親ウィンドウ座標系での左上隅の座標(ピクセル)。
親がタブの場合はタブ座標系。
座標値は他コントロールからの相対座標で与えることもできる。
$cW $cH
コントロール幅(ピクセル)とコントロール高さ(ピクセル)を文字幅の倍数
(実数値:上例では3.2w 1.5h)もしくは、ピクセル値(例:100P)で与える。
$ButtonProc
ボタンがクリックされたとき実行するプロシージャ名。
プロシージャには、ボタン名がアーギュメントとして渡されてくる。
proc buttonproc { name } {
………………
}
位置座標(X,Y)は相対座標で与えることができ、この場合、left(),right(),top(),
bottom()マクロで相対座標を与えます。
()の中にコントロール名を与えると、そのコントロールの、それぞれ左,右,上,下の
座標値が得られます。
このとき、()の中に何も与えないと直前に作成されたコントロールを指定したこと
になります。
マクロに続けてピクセル単位のオフセット量を指定します。
right()
right(.Button1)
right(Win.Button1)+2
right(Win.Button1)-4
文字列にはブランクが含まれてはならないNG例
right( )
right (Win.Button1)
right(Win.Button1) +2
right(Win.Button1)- 4

gui Edit $ControlName $Text $X $Y $cW $cH $EditProc
gui Edit0 .E1 "2000" 10 bottom(.Sc1)+35 3w 1h
""
gui Edit0 .E2 "" right()+5 top() 11w 1.1h "施設::入力監視Proc"
Edit
Editのみの場合はウィンドウにレイアウトしEdit2のように番号が付くと
タブコントロール内にレイアウトする。
数字はタブタイトル番号(0から)
$ControlName
配置するウインドウ名(省略すると直前に作成されたウィンドウ)と自分の名前(必須)を
.で結んだ文字列。
名前のみ(.なし)は許されない。
$Text
初期表示文字列
$X $Y
親ウィンドウ座標系での左上隅の座標(ピクセル)。
親がタブの場合はタブ座標系。
座標値は他コントロールからの相対座標で与えることもできる。
$cW $cH
コントロール幅(ピクセル)とコントロール高さ(ピクセル)を文字幅の倍数
(実数値:例8.3w 0.9h)もしくは、ピクセル値(例:100P)で与える。
$EditProc
テキストが編集されるたびに実行するプロシージャ名。
プロシージャには、コントロール名,<CR><LF>フラグ,入力文字列がアーギュメント
として渡されてくる。
proc Editproc { name crtab text } {
………………
}
crtab 0:文字入力 1:<CR>入力 2:<TAB>入力
gui Memo $ControlName $Text $X $Y $cW $cH
Memo
Memoのみの場合はウィンドウにレイアウトしMemo2のように番号が付くと
タブコントロール内にレイアウトする。
数字はタブタイトル番号(0から)
$ControlName
配置するウインドウ名(省略すると直前に作成されたウィンドウ)と自分の名前(必須)を
.で結んだ文字列。
名前のみ(.なし)は許されない。
$Text
初期表示文字列
$X $Y
親ウィンドウ座標系での左上隅の座標(ピクセル)。親がタブの場合はタブ座標系。
座標値は他コントロールからの相対座標で与えることもできる。
$cW $cH
コントロール幅(ピクセル)とコントロール高さ(ピクセル)を文字幅の倍数
(実数値:例8.3w 0.9h)もしくは、ピクセル値(例:100P)で与える。
パスワード gui Passward
gui Password $ControlName $Text $X $Y $cW $cH
パスワードコントロールはタイプ文字がエコーバックされないエディットコントロール。
イベントプロシージャを持たないことに注意して下さい。
Password
Passwordのみの場合はウィンドウにレイアウトしPassword 2のように番号が付くと
タブコントロール内にレイアウトする。
数字はタブタイトル番号(0から)
$ControlName
配置するウインドウ名(省略すると直前に作成されたウィンドウ)と自分の名前(必須)を
.で結んだ文字列。
名前のみ(.なし)は許されない。
$Text
初期表示文字列
$X $Y
親ウィンドウ座標系での左上隅の座標(ピクセル)。
親がタブの場合はタブ座標系。
座標値は他コントロールからの相対座標で与えることもできる。
$cW $cH
コントロール幅(ピクセル)とコントロール高さ(ピクセル)を文字幅の倍数
(実数値:例8.3w 0.9h)もしくは、ピクセル値(例:100P)で与える。
gui Text $ControlName $Text $x $y $cW $cH $Adjust
gui Text1 .t1 年度検索 right()+1 top() 5.5w 0.8h
Text
Textのみの場合はウィンドウにレイアウトしText2のように番号が付くと
タブコントロール内にレイアウトする。数字はタブタイトル番号(0から)
$ControlName
配置するウインドウ名(省略すると直前に作成されたウィンドウ)と自分の名前(必須)を
.で結んだ文字列。
名前のみ(.なし)は許されない。
$Text
初期表示文字列
$X $Y
親ウィンドウ座標系での左上隅の座標(ピクセル)。親がタブの場合はタブ座標系。
座標値は他コントロールからの相対座標で与えることもできる。
$cW $cH
コントロール幅(ピクセル)とコントロール高さ(ピクセル)を文字幅の倍数
(実数値:例8.3w 0.9h)もしくは、ピクセル値(例:100P)で与える。
$Adjust
文字列の表示位置指定。省略可
Center…中心に表示 Left…左詰め表示 Right…右詰め表示
リスト gui List
gui List $ContolName $X $Y $cW $N
gui List .結果 left() bottom()+10 11.2w 8.5h
リストの項目はgui Addコマンドで与えます。
List
Listのみの場合はウィンドウにレイアウトしList2のように番号が付くと
タブコントロール内にレイアウトする。数字はタブタイトル番号(0から)
$ControlName
配置するウインドウ名(省略すると直前に作成されたウィンドウ)と自分の名前(必須)を
.で結んだ文字列。
名前のみ(.なし)は許されない。
$X $Y
親ウィンドウ座標系での左上隅の座標(ピクセル)。
親がタブの場合はタブ座標系。
座標値は他コントロールからの相対座標で与えることもできる。
$cW
コントロール幅(ピクセル)を文字幅の倍数(実数値:例8.3w)もしくは、ピクセル値
(例:100P)で与える。
$N
表示させる行数

gui add $ControlName $item $itemproc
gui Combo2
park.c1 left() bottom()+25 11w 6h
.............
foreach item "全施設 園路・広場 修景施設 休養施設
遊技施設 運動施設" {
gui Add park.c1 $item "施設::リストセットProc"
}
$item
リストに追加する項目名称
$itemProc
項目が選択された時実行するプロシージャ。項目ごとに指定できる。
プロシージャには、コントロール名,インデックス番号,項目名がアーギュメントとして
渡されてくる。
インデックス番号は0から開始。
proc itemproc { name index item } {
………………
}

gui Combo $ContolName $X $Y $cW $N $EditProc
gui Combo2
park.c1 left() bottom()+25 11w 6h
.............
foreach item "全施設 園路・広場 修景施設 休養施設
遊技施設 運動施設" {
gui Add park.c1 $item "施設::リストセットProc"
}
コンボボックスの項目はgui
Addコマンドで与えます。
gui Setコマンドを用いると、存在していれば選択され、存在しない場合は追加されます。
Combo
Comboのみの場合はウィンドウにレイアウトしCombo2のように番号が付くと
タブコントロール内にレイアウトする。
数字はタブタイトル番号(0から)
$ControlName
配置するウインドウ名(省略すると直前に作成されたウィンドウ)と自分の名前(必須)を
.で結んだ文字列。
名前のみ(.なし)は許されない。
$X $Y
親ウィンドウ座標系での左上隅の座標(ピクセル)。
親がタブの場合はタブ座標系。
座標値は他コントロールからの相対座標で与えることもできる。
$cW
コントロール幅(ピクセル)を文字幅の倍数(実数値:例8.3w)もしくは、ピクセル値
(例:100P)で与える。
$N
表示させる行数
$EditProc
エディットコントロールの機能も持たせたい場合にプロシージャ名を与える。
省略すると選択のみ可能なコンボボックスになる。
テキストが編集されるたびにプロシージャが実行され、
プロシージャには、コントロール名,文字列がアーギュメントとして渡されてくる。
proc editproc { name text } {
………………
}

gui Tree $ContolName $X $Y $W $H
gui Tree$tab .分類 5 bottom()+5 160w 90h
ツリーの項目はgui Addコマンドで与えます。
Tree
Treeのみの場合はウィンドウにレイアウトしTree2のように番号が付くと
タブコントロール内にレイアウトする。
数字はタブタイトル番号(0から)。
$ControlName
配置するウインドウ名(省略すると直前に作成されたウィンドウ)と自分の名前(必須)を
.で結んだ文字列。
名前のみ(.なし)は許されない。
$X $Y
親ウィンドウ座標系での左上隅の座標(ピクセル)。
親がタブの場合はタブ座標系。
座標値は他コントロールからの相対座標で与えることもできる。
$cW $cH
コントロール幅(ピクセル)とコントロール高さ(ピクセル)を文字幅の倍数
(実数値:例8.3w 0.9h)もしくは、ピクセル値(例:100P)で与える。
gui add $ControlName $item $itemproc
#ツリー親
gui add $parent.分類 目標物 "検索::分類検索"
gui add $parent.分類 管理施設 "検索::分類検索"
gui add $parent.分類 その他 "検索::分類検索"
# オブジェクト毎のカテゴリー分類
foreach item "橋梁名 トンネル名 河川名" {
gui add $parent.分類 目標物.$item "検索::小分類検索"
}
foreach item "照明灯 信号" {
gui add $parent.分類 管理施設.$item "検索::小分類検索"
}
$item
リストに追加する項目名称 親子孫を.(ピリオド)で連結して指定
$itemProc
項目が選択された時実行するプロシージャ。
項目ごとに指定できる。
プロシージャには、項目名 項目ハンドルがアーギュメントとして渡されてくる。
proc treeproc { item hwnd } {
………………
}

gui Check $ConttrolName $Label $Onoff $X $Y $cW $cH $CheckProc
gui .file 常にファイリングバーを表示する1 7 160 17h
Check
Checkのみの場合はウィンドウにレイアウトしCheck2のように番号が付くと
タブコントロール内にレイアウトする。
数字はタブタイトル番号(0から)
$ControlName
配置するウインドウ名(省略すると直前に作成されたウィンドウ)と自分の名前(必須)を
.で結んだ文字列。
名前のみ(.なし)は許されない。
$Label
ラベル
$Onoff
初期状態。1がON 0がOFF
$X $Y
親ウィンドウ座標系での左上隅の座標(ピクセル)。親がタブの場合はタブ座標系。
座標値は他コントロールからの相対座標で与えることもできる。
$cW $cH
コントロール幅(ピクセル)とコントロール高さ(ピクセル)を文字幅の倍数
(実数値:例8.3w 0.9h)もしくは、ピクセル値(例:100P)で与える。
$CheckProc
プロシージャ名。プロシージャにはコントロール名,新状態が渡されてくる。
proc checkproc { name onoff } {
………………
}
他の関連するチェックボックスのONOFF切り替えは、このプロシージャの中で行う
(自動ではない)。

gui Radio $ConttrolName $Label $Onoff $X $Y $cW $cH $RadioProc
gui Radio2 .内容 サービス内容 1 10 25 8w 1h "検索::施設検索Proc"
gui Radio2 .種別 施設種別 0 left() bottom()+2 8w 1h "検索::施設検索Proc"
gui Radio2 .名称 施設名称 0 left() bottom()+2 8w 1h "検索::施設検索Proc"
Radio
Checkのみの場合はウィンドウにレイアウトしCheck2のように番号が付くと
タブコントロール内にレイアウトする。
数字はタブタイトル番号(0から)
$ControlName
配置するウインドウ名(省略すると直前に作成されたウィンドウ)と自分の名前(必須)を
.で結んだ文字列。
名前のみ(.なし)は許されない。
$Label
ラベル
$Onoff
初期状態。1がON 0がOFF
$X $Y
親ウィンドウ座標系での左上隅の座標(ピクセル)。
親がタブの場合はタブ座標系。
座標値は他コントロールからの相対座標で与えることもできる。
$cW $cH
コントロール幅(ピクセル)とコントロール高さ(ピクセル)を文字幅の倍数
(実数値:例8.3w 0.9h)もしくは、ピクセル値(例:100P)で与える。
$RadioProc
プロシージャ名。プロシージャには、コントロール名,新状態が渡されてくる。
proc radioproc { name onoff } {
………………
}
他の関連するラジオボタンのONOFF切り替えは、このプロシージャの中で行う
(自動ではない)。

gui Group $ControlName $Lavel $Left $Top $Right $Bottom
gui Group0 .g1 分類別検索 3 5 280 50
Group
Groupのみの場合はウィンドウにレイアウトしGroup2のように番号が付くと
タブコントロール内にレイアウトする。数字はタブタイトル番号(0から)
$ControlName
配置するウインドウ名(省略すると直前に作成されたウィンドウ)と自分の名前(必須)を
.で結んだ文字列。
名前のみ(.なし)は許されない。
$Lavel
グループのラベルとして表示される文字列
$Left $Top $Right $Bottom
ボックスの対角点座標(ピクセル)。
すべて相対座標表記可。
メッセージ表示のコントロールです。
gui Status $ControlName $Text $X $Y $cW $cH
gui Status .Msg "" left() bottom()+5 27.9w
1.0h
Status
Statusのみの場合はウィンドウにレイアウトしStatus2のように番号が付くと
タブコントロール内にレイアウトする。数字はタブタイトル番号(0から)
$ControlName
配置するウインドウ名 (省略すると直前に作成されたウィンドウ)と自分の名前(必須)を
.で結んだ文字列。
名前のみ(.なし)は許されない。
上例では親パネルを省略している。
$Text
初期表示文字
$X $Y
親ウィンドウ座標系での左上隅の座標(ピクセル)。
親がタブの場合はタブ座標系。
座標値は他コントロールからの相対座標で与えることもできる。
$cW $cH
コントロール幅(ピクセル)とコントロール高さ(ピクセル)を文字幅の倍数
(実数値:上例では3.2w 1.5h)もしくは、ピクセル値(例:100P)で与える。

gui Bitmap $ControlName $FileName $X $Y $W $H $proc
gui Bitmap2 .Enter1 $ImgPath/樹木.bmp
right()+4 top()-7 32 32 入力::樹木Proc
Bitmap
Bitmapのみの場合はウィンドウにレイアウトしBitmap2のように番号が付くと
タブコントロール内にレイアウトする。数字はタブタイトル番号(0から)
$ControlName
配置するウインドウ名(省略すると直前に作成されたウィンドウ)と自分の名前(必須)を
.で結んだ文字列。
名前のみ(.なし)は許されない。
上例では親パネルを省略している。
$FileName
BMPファイル名
$X $Y
親ウィンドウ座標系での左上隅の座標(ピクセル)。
親がタブの場合はタブ座標系。
座標値は他コントロールからの相対座標で与えることもできる。
$W $H
ビットマップのサイズ(ピクセル)
$Proc
ビットマップ領域をクリックされたら実行するプロシージャ名。
プロシージャには、コントロール名がアーギュメントとして渡されてくる。
proc bmpproc { name } {
………………
}
gui Scroll $ControlName $Orient $Range $Pos $X $Y $cW $cL $proc
Scroll
Scrollのみの場合はウィンドウにレイアウトし、Scroll2のように番号が付くと
タブコントロール内にレイアウトする。
数字はタブタイトル番号(0から)
$ControlName
配置するウインドウ名(省略すると直前に作成されたウィンドウ)と自分の名前(必須)を
.で結んだ文字列。
名前のみ(.なし)は許されない。
$Orient
配置方向。hが水平,vが垂直。
$Range
スクロール範囲。整数値で与える。
$Pos
現在位置。スクロール範囲内の整数値で与える。0がトップ位置。
$X $Y
親ウィンドウ座標系での左上隅の座標(ピクセル)。
親がタブの場合はタブ座標系。
座標値は他コントロールからの相対座標で与えることもできる。
$cW $cL
スクロールバーのサイズ(文字幅の倍数)
$Proc
スクロールボックスが移動されたら実行するプロシージャ名。
プロシージャには、コントロール名、新位置がアーギュメントとして渡されてくる。
proc scrollproc {name pos} {
………………
}
ウインドウを作成し表示する
gui display
$WindowName
ウインドウを閉じる
gui close
$WindowName
TclWin.EXE環境でトップウインドウを閉じて終了する時にはgui
close TclWin
を実行して下さい。
TclWin.EXEは非表示のルートウインドウをTclWin名で作成しています。
これを閉じないとプロセスが残ったままになります。
なお、TclWinの大文字小文字に注意して下さい。
ウインドウのタイトルを得る
gui get
$WindowName
ウインドウの表示状態を得る。
1:表示されている。
0:表示OFFか、存在しない。
gui get
$WindowName show
ウインドウの位置(X,Y)と幅(W),高さ(H)を得る。
X Y W Hのリストが返される。
gui get
$WindowName rect
ウインドウハンドルを得る。
gui get
$WindowName hwnd
WindowNameには予約された名前があり、GeoConceptのフローティングウインドウを
操作できます。全て小文字です。
セレクションリストウインドウ selection
トポロジツール topology
バーチャルレイヤ修正ツール layer
ツールボックス tool
フォーカスウインドウ active
ウインドウハンドル(整数) #hwnd
setコマンド,getコマンドでWindowNameが与えられると、システムはユーザーが作成した
ウインドウを検索します。
それが無ければ上表の予約名で検索します。
さらに見つからなければ、表示されている全てのウインドウのタイトルで検索します
(例えば"エクスプローラ"を与えるとWindowsのExplorerが検索されます)。
下記のプログラム例では「エクスプローラ」ウインドウの位置とサイズを変更しています。
set hwnd [gui getエクスプローラhwnd]
gui set #$hwnd rect 0 0 400 400 |
ウインドウのタイトルを変更する。
gui set $WindowName $Title
ウインドウの表示をOFFする。
gui set $WindowName hide
ウインドウの表示をONする。
gui set $WindowName show
ウインドウの位置とサイズを変更する。
X値,Y値,幅,高さ $W $Hは省略可
gui set $WindowName rect $X
$Y $W $H
ウインドウの終了プロシージャをセットする
gui set $WindowName exitproc
$proc
ウインドウのタブ変更プロシージャをセットする
gui set $WindowName tabproc
$proc
ウインドウの再描画プロシージャをセットする
gui set $WindowName
repaintproc $proc
ウインドウをフォーカスウインドウにする
gui set $WindowName active
デバイスコンテキストを得る
gui dc $WindowName open
デバイスコンテキストを開放する
gui dc $WindowName close
指定された$ColorRef番号でクライアント領域を塗りつぶす
gui dc $WindowName erase
$ColorRef
デバイスコンテキストはGeoConceptページレイアウト機能でプレビューを
表示する時などに必要です。
コントロールの現在値を得る
gui get $ControlName
コンボボックス,リストの場合は"項目番号 項目名"のリストが返される。
項目番号は0からはじまる。
ラジオボタン,チェックボックスの場合は1か0が返される。
その他はラベルが返される。
コントロール表示状態を得る
gui get $ControlName show
1が返れば表示されている。
0が返れば表示OFFか存在しない。
コントロールの位置(X,Y)と幅(W),高さ(H)を得る
gui get $ControlName rect
X Y W Hのリストが返される。
コントロールのウインドウハンドルを得てコントロールが有効か調べる
gui get $ControlName hwnd
1が返れば有効 0が返れば無効
コントロールのラベルを変更する
gui set $ControlName $Label
ラジオボタン,チェックボックスの場合は1か0を与える。
リスト,コンボボックスの場合は"項目名 プロシージャ名"を与える。
プロシージャ名は省略可。
gui set Win.COM1 "項目A"
ProcA
既にその項目があれば選択と同じ動きをし、かつプロシージャ名を変更する。
なければ項目を追加する。
コントロールの表示OFF
gui set $ControlName hide
コントロールの表示ON
gui set $ControlName show
コントロールの位置とサイズを変更する
gui set $ControlName rect $X
$Y $W $H
WとHは省略可
コントロールの無効化(灰色表示)
gui set $ControlName disable
コントロールの有効化
gui set $ControlName enable
コントロールのイベントプロシージャを$ProcNameに変更する
gui set $ControlName proc
$ProcName
コンボボックスとリストボックスの項目リストをクリアする
gui clr $ControlName
コンボボックスとリストボックスに項目および選択時に実行するプロシージャ名を与える
gui add $ControlName
$ItemName $ProcName
コンボボックスとリストボックスの項目をインデックスで選択する
gui sel $ControlName $Index
先頭インデックスは0。項目名で選択するにはsetを用いる。
マウスイベントをTclプロシージャで処理することができます(XGO環境のみ)。
@新しいマウスモードを作成し、マウスイベントプロシージャを登録します。
set mode [xgo AddMouseMode $MouseProcName XGOMODEFLAG_WANTALL]
Aマウスモードを変更します
xgo SetMouseMode $mode
以上によりマウスイベントをTclプロシージャで処理することができます。
そのプロシージャで、1をリターンするとイベントはGeoConceptには送られず、
0をリターンするとGeoConceptにも送られます。
例えばマウスの右ボタンがクリックされたとき、それを処理したあと0をリターンすると
ポップアップメニューが表示されますが、1をリターンするとメニューは表示されません。
マウスイベントプロシージャには7つのアーギュメントが渡されます。
proc MouseProc {windowname mapid hwnd button updown x
y} {
}
windowname
ウインドウ名(未使用)
mapid XGOMAPID(未使用)
hwnd
ウインドウハンドル
button 1:左ボタン 2:中間ボタン
3:右ボタン
updown
0:ボタンオープン 1:クリック 2:ダブルクリック 3:ドラック
x y マウスのマップ座標(整数)
ダブルクリックの時は、その前にクリックも通知されてきますので注意してください。
|