イベント処理【bind】
bind ウィジェット名 イベント [+]コマンド
すでにバインドされているコマンドがある場合、新しいコマンドに差し替えられる。
コマンドの前に+をつけると既存のコマンドに新しいコマンドが追加される。
イベントの指定の構文
モデファイア -モデファイア -タイプ -ディテール
モデファイア(修飾子)
タイプの前にはモデファイアをつけることができる。
Control ctrlキーを押しながらの入力。
Shift Shiftキーを押しながらの入力。
Alt Altキーを押しながらの入力。
Button1 マウスの左ボタンを押しながらの入力。
Button3 マウスの右ボタンを押しながらの入力。
Double ダブルクリック。
Triple トリプルクリック。
Meta Winキーなどメタキーを押しながらの入力。
タイプ(型)
GUI上で発生するイベントタイプ。
Key,KeyPress キーが押された。
KeyRelease キーが離された。
Button,ButtonPress マウスのボタンが押された。
ButtonRelease マウスのボタンが離された。
Motion マウスがウィジェットの上で移動したとき。canvasウィジェットの相互作用で
よく使われる。
Enter マウスカーソルがウィンドウの中に入ったらウィンドウに送信。
Leave マウスカーソルがウィンドウの中から出たらウィンドウに送信。
MouseWheel マウスホイールの移動。
FocusIn,FocusOut ウィジェットがキーボードフォーカスを得たとき失ったときに
送信される。
Map,Unmap ウィジェットがスクリーンに現れたとき(Map)スクリーンから消えたとき
(Unmap)に送信される。これらが発生するのは、たとえばウィンドウが
アイコン化されたりアイコンから、元の表示に戻るときである。たとえば
ゲームやシステムのステータス表示だとしたらプログラムが表示されて
いない時は処理を中断したいだろう。これらのイベントはそのカギになる。
Activate
Configure ウィンドウが(普通はサイズの変更により)再構成されたとき送信される。
もしあなたが「リサイズ」イベントを探していたのなら、これがそのイベントだ。
これは一般に、キャンバスのサイズが変わった時、canvasウィジェットの
各要素を再描画するのに使われる。
Visibility
ディテール
バインドされたコマンド内ではイベント情報を取得するための方法が用意されている。
%b クリックおよびリリースされたマウスボタンの番号(ButtonPressやButtonRelease
イベントに対して有効)。
%x,%y イベント発生時のマウスポインタのXとYのフィールド。イベントを受け取った
ウィジェットの左上端を原点(0,0)にする相対座標である。
(ButtonPress,ButtonRelease,Motion,KeyPress,KeyRelease,MouseWheelらに有効)
%W イベントを受け取ったときのウィンドウのパス名。
%A 押された、あるいは離されたキーに対応する文字(KeyPress,KeyReleaseに
対して有効)。
%K 押された、あるいは離されたキーに対応する名前(KeyPress,KeyReleaseに
対して有効)。
bind . <KeyPress> {puts %K}
キーを押すと、割り当てられたキーの名前を教えてくれる。F1などメタキーの名前。
%% 自分自身を表す。一個の%に置き換えられる。
%T キーに対応する時間(ほとんどのイベントに対して有効)。
%D MouseWheelイベントの値を報告(値の符号はマウスホイールをスクロールした
方向を示している)。
%h,%w ウィジェットの高さと幅。ConfigureおよびExposeイベントにのみ有効。
%X,%Y イベント発生時のマウスポインタのXとYのフィールド。デスクトップの
左上端を原点(0,0)にする座標である。
Tkコマンド【目次】