HSP命令講座 <mouse命令>

Last Update : 2007/07/xx

PR HSPの書籍 『最新HSP3.2 プログラミング入門』

mouse命令 (マウスカーソルの表示位置指定、非表示)

 マウスのポインタ(カーソル、矢印)を指定した座標位置へ移動表示する命令です。もうひとつの機能として、自ウィンドウ上でこのマウスカーソルを非表示(隠す)状態に切り替えることもできます。

 mouse X座標, Y座標
 mouse 表示(無指定)or非表示(-1)

 指定する座標位置は、自ウィンドウ内ではなくディスプレイ(モニタ画面)全体から見たものになります。

☆ 関連
 HSP3 あれこれ (マウス編) ... マウス関連の命令、発展的なサンプルコード。

^

サンプルコード (カーソル表示位置変更)

 カーソルの位置指定。それぞれ単純に0を指定すれば、画面の左上に矢印が移動することになります。ginfo関数(タイプ20、21)を利用すれば、逆に画面の右下、左下、右上に移動できます。それを単純に2で割れば画面のほぼ中央です。

;	画面の左上
	mouse 0, 0
;	画面の右下
	mouse ginfo(20), ginfo(21)
;	画面の左下
	mouse 0, ginfo(21)
;	画面の右上
	mouse ginfo(20), 0
;	画面の中央
	mouse ginfo(20) / 2, ginfo(21) / 2

↑TOP↑

サンプルコード (カーソル表示/非表示の切り替え)

 マウスの矢印カーソルを消す処理です。mouse命令のパラメータで単純にマイナス値を指定します。逆に無指定の場合は非表示だったカーソルが表示されるようになります。これはあくまでHSPで表示させた自ウィンドウ上でのみ効果があります。

	button "非表示", *kesu
	button "表示", *show
	stop

*kesu
	mouse -1
	stop

*show
	mouse
	stop

 注意したいのは、HSPヘルプブラウザのmouse命令の説明に書かれている下の文章です。上のコードでは非表示ボタンを2回押したら、逆に表示ボタンを同じように2回押さないとカーソル表示が復帰しません。ループ中などで何度も非表示してしまう処理になっている場合に復帰が大変になるので注意が必要です。(参照、カウンタ値の取得

マウスカーソル表示の設定は、システムの内部カウンタにより制御されています。
OFFにした表示を、再度表示するためには、OFFにした回数分だけ表示のリクエスト
を行なう必要があるので注意してください。

↑TOP↑

サンプルコード (擬似的なカーソル変更)

 擬似的なカーソル変更風の処理です。あくまで「〜風」で実際にカーソル自体は変更してません。カーソルを変更したい場合は、Win32 API関数を利用する必要があります。(参照、HSP3 あれこれ <マウス>

//	mouse命令 サンプルスクリプト (by Kpan)

;	バッファ画面
	buffer 1

;	カーソル用イメージ (絵文字フォントWingdings利用)
	color 0, 0, $FF
	font "Wingdings", 40, 16
	mes "?"

;	メイン画面
	screen 0

;	カーソル非表示
	mouse -1

	repeat
		redraw 0

;		塗りつぶし
		color $FF, $FF, $FF
		boxf

;		バッファ画面から切り取ってくる
		pos mousex, mousey
		gcopy 1, 0, 0, 40, 40

		redraw

		await 16
	loop

↑TOP↑

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

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