私が書いているプログラムでは、フォームの左上隅に絶対的なマウスの位置が必要です。私はこのコードを使用しています:
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Debug.Print "x: " & X & " - y: " & Y
End Sub
このコードを使用すると、左上隅の座標が 0,0 になります。しかし問題は、フォーム内を移動すると値が 15 倍大きすぎることです。
それが私が使用した理由です:
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Debug.Print "x: " & X / 15 & " - y: " & Y / 15
End Sub
これで正しい座標が得られますが、なぜこれを 15 で割る必要があるのでしょうか? このコードが他のシステムで互換性があるかどうかはわかりません。