共通デスクトップ環境 Dtksh ユーザーズ・ガイド

イベント・ハンドラ・コンテキスト変数

アプリケーションは、指定したイベントの 1 つが発生した時に起こるアクションを指定するウィジェットにイベント・ハンドラを登録します。アクションには、任意の dtksh コマンド行を指定できます。たとえば、次のとおりです。

XtAddEventHandler $W "Button2MotionMask" false "ActivateProc" 
XtAddEventHandler $W "ButtonPressMask|ButtonReleaseMask" ¥
      false "echo action"

2 つの環境変数が、イベント・ハンドラへのコンテキストを提供するために次のように定義されます。

EH_WIDGET

イベント・ハンドラが登録されるウィジェットの ID を設定します。

EH_EVENT

イベント・ハンドラを起動する XEvent のアドレスを設定します。

XEvent 構造体内のフィールドへのアクセスを次の例に示します。

if [ ${EH_EVENT.TYPE} = "ButtonPress" ]; then
   echo "X = "${EH_EVENT.XBUTTON.X}
   echo "Y= "${EH_EVENT.XBUTTON.Y}
elif [ ${EH_EVENT.TYPE} = "KeyPress" ]; then     
   echo "X = "${EH_EVENT.XKEY.X}
   echo "Y = "${EH_EVENT.XKEY.Y}    
fi