Estaes una forma No optimizada de hacerlo, pues una forma mas elegante seria con clases y colecciones, pero es un poco mas complicada, pero mas facil de usar y tiene la ventaja de que no tendrias limite a la hora de hacer cuadros, el unico lmite seria la memoria de la maquina.
Aqui esta el codigo
Dim Xini As Single, Yini As Single 'Valores donde hizo el primer cilick
Dim Presiono As Boolean ' Para que empieza al hacer click
Dim ArrXIni(1 To 1000) As Single, ArrXFin(1 To 1000) As Single, ArrYIni(1 To 1000) As Single, ArrYFin(1 To 1000) As Single'arreglos de las posiciones de los vertices, son unidimensionales.
Dim IndiceArrs As Integer
Private Sub Form_Load()
IndiceArrs = 1
End Sub
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Xini = X
Yini = Y
Presiono = True
ArrXIni(IndiceArrs) = X
ArrYIni(IndiceArrs) = Y
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Presiono = True Then
Picture1.Cls 'Limpia las cordenadas anteriores
Picture1.Line (Xini, Yini)-(X, Y), vbRed, B ' B es para constrir un rectangulo solo el borde si pones BF el interior tambien se Pinta
If IndiceArrs <> 1 Then
For i = 1 To IndiceArrs - 1`para que no entre al ultimo caso, pues lo estas dibujando
Picture1.Line (ArrXIni(i), ArrYIni(i))-(ArrXFin(i), ArrYFin(i)), vbRed, B
Next
End If
End If
End Sub
Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Picture1.Line (Xini, Yini)-(X, Y), vbRed, B 'VbRed es el color
Presiono = False
ArrXFin(IndiceArrs) = X
ArrYFin(IndiceArrs) = Y
IndiceArrs = IndiceArrs + 1
End Sub
Espero que te sirva, cualquier cosa me mandas un EMail, Por cierto para que lo estas ocupando.