HSP3命令入門講座 <objskip命令>

Last Update : 2007/05/xx

objskip命令 (オブジェクトのフォーカス挙動指定)

 HSPがサポートしているGUIオブジェクトのフォーカス移動の挙動を指定する命令です。命令名の由来は「object skip」。HSP 3.2以降で対応する命令です。

 objmode オブジェクトID, モード

 HSP3では、オブジェクト間のフォーカス移動がデフォルトで有効になっており、ウィンドウ内全体のフォーカス移動はobjmode命令で無効にできます。objsel命令を使うと、スクリプトから特定オブジェクトへフォーカスの移動が可能です。

 この命令は個々のオブジェクトに対してフォーカスの挙動を指定できる命令です。第1パラメータにオブジェクトを設置した順番に割り当てられるオブジェクトID(0〜)を指定します。オブジェクトは、ボタン(button命令)、チェックボックス(chkbox命令)、入力ボックス(input命令)、メッセージボックス(mesbox命令)、コンボボックス(combox命令)、リストボックス(listbox命令)です。

 また、Win32コントロールを設置するwinobj命令は、通常ではフォーカス移動の対象外になっており、フォーカスはスキップしていましたが、objskip命令を使うことでフォーカス移動の対象へと含めることができます。

第2パラメータのモード
Error 3 (パラメータの値が異常です)
オブジェクトをフォーカス移動の対象へ含める
次のオブジェクトにフォーカスを移動させない
オブジェクトのフォーカス対象から外す

☆ オブジェクトのフォーカスの役割
 マウスを利用しないで、キーボードのキー操作のみでオブジェクトの状態を変更できるようにしてくれるWindowsの機能です。TABキーでフォーカスを移動して、スペースキーやカーソルキーで状態を変更できます。

↑TOP↑

サンプルソース (個別オブジェクトのフォーカス無効)

 objskip命令のサンプルスクリプトです。モード2の場合は、objskip命令を指定した「次の」オブジェクトにフォーカスが移動せず停止します。

//	フォーカス移動の無効 [HSP 3.2〜]

	chkbox "有効", a

	chkbox "有効", a
		objskip stat, 2 ; 以降はフォーカス移動が停止

	chkbox "無効", a

	chkbox "無効", a

 モード3の場合は、objskip命令を指定したオブジェクトにフォーカスが移動せず、次のオブジェクトにそのままフォーカスが移ります。以降、フォーカスはループします。

//	フォーカス移動のスキップ [HSP 3.2〜]

	chkbox "有効", a

	chkbox "無効", a
		objskip stat, 3 ; フォーカス移動をスキップ対象

	chkbox "有効", a

	chkbox "有効", a

↑TOP↑

サンプルソース (winobj命令のフォーカス移動対象化)

 objskip命令のモード1で、winboj命令で設置したコントロールをフォーカス移動の対象へと含めることができます。

//	winobj命令をフォーカス移動の対象先に [HSP 3.2〜]

	chkbox "有効", a

	winobj "button", "無効", , $50000009 ; デフォルトではフォーカス対象外

	chkbox "有効", a

	winobj "button", "有効", , $50000009
		objskip stat, 1

	chkbox "有効", a

↑TOP↑

サンプルソース (入力ボックス内の文字列全体を反転選択)

(工事中)

↑TOP↑

オブジェクト関連命令

 HSP3 あれこれ (オブジェクト)のページでは、HSPのGUIオブジェクトに関連した各種命令の一覧リストを掲載してます。

↑TOP↑

〜HSP3 あれこれ〜
ウィンドウ | オブジェクト | ファイル | フォルダ | キーボード | マウス | メニュー | システム | 文字列 | COM | その他

Copyright © 2005-2011 ゲーム作成ソフトHSPの情報をいろいろと Let's HSP!. All rights reserved.