マウス位置の設定と取得
                                                       玄関へお回り下さい。
マウス位置の取得及び設定     (103)
     マウス位置の取得にはMouseMoveイベントでも可能ですが、位置の設定はVBの機能では出来そうにないので、API 関数を使いますが、簡単な関数なので。

Option Explicit   'SampleNo=103 WindowsXP VB6.0(SP5) 2002.05.10
'マウスカーソルの位置を設定する(P389)
Private Declare Function SetCursorPos Lib "user32" _
  (ByVal x As Long, ByVal y As Long) As Long

'位置座標を受け取る構造体
Private Type POINTAPI
    x As Long
    y As Long
End Type
'現在のマウスカーソルの位置座標を取得する(P387)
Private Declare Function GetCursorPos Lib "user32" _
  (lpPoint As POINTAPI) As Long
Private MoP As POINTAPI       '現在のマウスポインタの位置座標


Private Sub
Command1_Click()
'クリックした位置にマウスを移動
  SetCursorPos MoP.x, MoP.y
  'その位置を表示
  Label1.Caption = "マウス座標 X=" & MoP.x & " Y=" & MoP.y
End Sub


Private Sub Command2_Click()
  If Timer1.Interval = 0 Then
    Timer1.Interval = 500
  Else
    Timer1.Interval = 0
  End If
End Sub


Private Sub Form_Click()
'マウスのクリック位置の取得
  GetCursorPos MoP
  Label1.Caption = "マウスのクリック位置座標 X=" & MoP.x & " Y=" & MoP.y
End Sub


Private Sub Timer1_Timer()
  GetCursorPos MoP
  Label2.Caption = "マウスの現在座標 X=" & MoP.x & " Y=" & MoP.y
End Sub
使い道はと言われると?

1.マウスの表示が邪魔なときに移動する。
2.ここをクリックして欲しい時に移動する。
3.マウスのホームポジションの設定。
4.マウスをのけもん(これって方言!)にしたい時
5.あとは自分で考えてください。




2002/05/20