oncmd

Windowsメッセージ割り込み実行指定

oncmd goto/gosub *label,p1

*label : ラベル名
p1     : メッセージID

解説

指定されたウィンドウメッセージが送られた時に、自動的にジャンプする場所
を指定します。

oncmdの後に続けて、gotoまたはgosubキーワードを指定してからラベルを記述
します。
gotoの場合には、単純なプログラムジャンプ。 gosubの場合はサブルーチンジ
ャンプを行ないます。
goto/gosubキーワードを省略した場合には、gotoキーワードと同等の動作にな
ります。

oncmd命令でラベルを指定すると、それ以降はHSPのウィンドウに対してp1のメ
ッセージが送られた時に*labelで指定したラベルにジャンプします。
oncmd命令は、現在の操作先ウィンドウのみが対象になります。
複数のウィンドウを作成している場合は、 ウィンドウごとにoncmd命令による
登録が可能です。

既に登録されているウィンドウメッセージが指定された場合は、以前の登録が
無効になります。
また、割り込みの登録は、ウィンドウの初期化とは同期していません。
一度登録された割り込みは、アプリケーションが終了するまで有効になります。

割り込みジャンプは、stop命令および、waitawait命令で停止している時に
割り込みを受け付けてジャンプを行います。
また、割り込みによりジャンプを行なった後はシステム変数iparamwparamlparamがセットされます。
割り込みが発生したウィンドウIDは、 ginfo関数により取得することができま
す。

   割り込み要因 | iparam       | wparam | lparam
 ---------------------------------------------------------------------
   oncmd        | メッセージID | wParam | lParam

システム変数iparamには、送信されたメッセージIDが代入されます。
また、wparam,lparamはWindowsメッセージとして渡されたパラメータがそのま
ま格納されています。
割り込みの設定で、 gosubキーワードによるサブルーチンジャンプが発生した
場合は、return命令により戻り値を設定することが可能です。
「return 数値」で、ウィンドウプロシージャーが返す値を指定します。
return命令にパラメーターを指定しなかった場合には、デフォルトのウインド
ゥプロシージャーに処理が渡されます。

イベント割り込み実行の一時的なON/OFFをすることも可能です。

	oncmd 0

で一時的に割り込みを停止します。

	oncmd 1

で一時停止した割り込みを再開させることができます。

関連項目

onkeyキー割り込み実行指定
onclickクリック割り込み実行指定
onexit終了時にジャンプ
onerrorエラー発生時にジャンプ

サンプル逆引き (4)

dragdrop.hsp
menubar.hsp
menusample.hsp
winmove.hsp

情報

バージョン3.1
作成日2004/10/12
著作者onitama
URLhttp://www.onionsoft.net/
備考ver3.1標準命令
タイプ内蔵命令
グループプログラム制御命令
対応環境
  • Windows 版 HSP
  • コマンドライン版 HSP
  • HSPLet
hs ファイルhsphelp\i_prog.hs