[Webinar] Streamline your web hosting managementRegister Today

x
• Status: Solved
• Priority: Medium
• Security: Public
• Views: 211

# Return (x,y) values of 6 clicked locations

I have a PictureBox control opened.

Then, here's what I need to do (Instructions in Human Language) :

1. Click on 6 different locations on the PictureBox using my mouse
button

2. Return the X,Y coordinates of each of the 6 locations and store them
in 2 one-dimension arrays namely,    Dim x(1 to 6), y(1 to 6) as Integer

Really glad if you could help.

0
xoooox
• 2
1 Solution

Commented:
This should be very easy. Here's what you do (i'm assuming you want pixel locations, not twips):
Create a form (frmMain) with two command buttons (cmdStart, cmdShow), a listbox (lstPoints), and a picturebox (picPoints) with scalemode set to pixels (3).
Here's the basic code:
(this is general declarations)
Dim ptsX(1 To 6) As Integer
Dim ptsY(1 To 6) As Integer
Dim clicking As Boolean
Dim clicks As Integer

Private Sub cmdShow_Click()
lstPoints.Clear
For i = 1 To 6
lstPoints.AddItem CStr(ptsX(i)) + "," + CStr(ptsY(i))
Next i
End Sub

Private Sub cmdStart_Click()
clicking = True

End Sub

clicks = 0
End Sub

Private Sub picPoints_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If clicking Then
Beep
clicks = clicks + 1
ptsX(clicks) = X
ptsY(clicks) = Y
End If
If clicks = 6 Then
clicks = 0
clicking = False
cmdShow_Click
End If
End Sub

0

Commented:
xoooox,
Try the following. If you have questions, let me know.
Regards
Dalin

'1. declaration:

Private Type POINTAPI
x As Long
y As Long
End Type

Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

Dim p As POINTAPI
Static clickCount as Integer
If ClickCount = 0 then clickcount = 1
If clickCount >6 then
'Do what you like, reset or just exit
' I am reset it
Clickcount = 1
End if
Call GetCursorPos( p )
x(clickcount) = p.x
y(clickCount)= p.y

0

Commented:
Question for Dalin - why the whole big POINTAPI stuff - you don't need any API calls for this program. Just wondering...
0

## Featured Post

• 2
Tackle projects and never again get stuck behind a technical roadblock.