Creo que lo que pides se saca así:
Código vb:
Ver originalPrivate Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim PosRealX As Single
Dim PosRealY As Single
Dim Difer As Double
Difer = Screen.Width / Picture1.ScaleWidth
PosRealX = X * Difer
Difer = Screen.Height / Picture1.ScaleHeight
PosRealY = Y * Difer
End Sub
Aunque si quieres usar las coordenadas con GetCursorPos creo tienes que dividir el resultado por TwipsPerPixel:
Código vb:
Ver originalPrivate Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim PosRealX As Single
Dim PosRealY As Single
Dim Difer As Double
Difer = Screen.Width / Picture1.ScaleWidth
PosRealX = X * Difer / Screen.TwipsPerPixelX
Difer = Screen.Height / Picture1.ScaleHeight
PosRealY = Y * Difer / Screen.TwipsPerPixelY
End Sub
Por cierto, solo sirve con PictureBox. Si usas Images te encontrarás con que no tienen propiedad ScaleHeight y ScaleWidth y no he encontrado equivalente, así que he tenido que aprender primero como escalar una imagen en un picturebox
El problema está en pinchar donde quieres sin mover el ratón.
Yo no he conseguido nada más que pinchar con el botón derecho y desplegar el menú, solo que el menú me aparece debajo del ratón, en lugar de en la ventana donde he pinchado.
Espero que tengas mas suerte. Si lo consigues cuentanos como lo has hecho.
Saludos