カーソル位置を取得・設定には、GetCursorPos,SetCursorPos関数を使用します。
この関数から取得、関数に設定する値は、常にピクセル単位です。
(GetCursorPos,SetCursorPos 関数の使用方法)
フォームのGeneralセクションに次の宣言コードを追加して下さい。
ここで、GetCursorPosとSetCursorPos関数の引数が違うことに注意して下さい。 GetCursorPosでは、構造体を使っているのに対し、SetCursorPosでは、x,y座標 を単独で指定します。フォームにLabelを1つ配置して、Form_MouseMoveプロシージャに次のコード を追加して下さい。
'構造体の定義 Private Type POINT x As Long 'x座標格納 y As Long 'y座標格納 End Type 'APIの宣言 'マウスカーソルの現在の位置を、スクリーン座標で取得 Private Declare Function GetCursorPos Lib "user32" _ (lpPoint As POINT) As Long 'マウスカーソルの位置を指定されたスクリーン座標に移動 'ただし、ClipCursor 関数によって設定された長方形よりも '外側に出すことはできない Private Declare Function SetCursorPos Lib "user32" _ (ByVal x As Long, ByVal y As Long) As Long
ここでは、SetCursorPos関数については、ふれていませんが、単にカーソルの 新しい位置を引数に指定するだけなので、簡単に使用できると思います。
Private Sub Form_MouseMove(Button As Integer, Shift As _ Integer, x As Single, y As Single) Dim p As POINT Dim msg As String ret = GetCursorPos(p) msg = "スクリーン座標 " & "(" & p.x & "," & p.y & ")" Label1.Caption = msg End Sub