ClipCursor     
マウスカーソルの移動範囲を制限する

☆宣言
'▼データ型の宣言
Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type

'▼APIの宣言
Declare Function ClipCursor Lib "user32" ( _
    lpRect As Any _
) As Long

'▼変数の宣言
Global Ret As Long
Global ClipedArea As RECT
☆使用例と使用例のパラメータ
With ClipedArea
  .Left = 0
  .Right = 0
  .Top = 640
  .Bottom = 480
End With

Ret = ClipCursor(ClipedArea)
上はClipedAreaという変数に(0,0)-(640,480)という
座標を定義し、ClipedAreaで指定された座標内に
カーソルをクリップします。
ただし、座標の単位はTwipでなく、ピクセルですので
注意してください。Twipをピクセルに変換するには
Twip単位ををScreen.TwipsPerPixelXまたは
Screen.TwipsPerPixcelYで割ってください。

Ret…関数が成功したかどうかが返ります。
  0以外…関数成功
  0    …関数失敗

マウスカーソルをクリップするとは、マウスカーソルの
移動範囲を指定するということです。マウスカーソルは
指定された座標内でしか動き回ることができなくなります。

マウスカーソルをクリップしたまま、終了しないよう、
注意してください。Form_Unloadにクリップを解除する
コードを記述すれば回避できます。
☆サンプルプログラム
clipcur.lzh (5.67KB)


Directory Reference
Top page
 Visual Basic Room
  Windows API (戻る)
   ClipCursor