Anyone know of any API or any way of easily coding a 'snap to grid' feature?
Printable View
Anyone know of any API or any way of easily coding a 'snap to grid' feature?
I wrote a maze designer for a game, and it does it.
Take what you need.
http://members.fortunecity.com/plend...20Designer.zip
just in case you dont want to find the stuff for yourself ;
Code:Private Const SnapValue As Long = 20
Private MouseX As Single
Private MouseY As Single
Private Sub pictureBox1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
MouseX = RoundTo(SnapValue, X)
MouseY = RoundTo(SnapValue, Y)
pictureBox1.Cls
pictureBox1.Circle (MouseX - 1, MouseY - 1), 2, vbRed
End Sub
Private Function RoundTo(NumberToRoundTo As Long, NumberToRound) As Long
If (NumberToRound < NumberToRoundTo) Then
If (NumberToRound < (NumberToRoundTo / 2)) Then
RoundTo = 0
Else
RoundTo = NumberToRoundTo
End If
Else
For i = 2 To NumberToRound
If (NumberToRound < (NumberToRoundTo * i)) Then
If (NumberToRound < ((i * NumberToRoundTo) - (NumberToRoundTo / 2))) Then
RoundTo = (i * NumberToRoundTo) - NumberToRoundTo
Exit For
ElseIf (NumberToRound > ((i * NumberToRoundTo) - (NumberToRoundTo / 2))) Then
RoundTo = (i * NumberToRoundTo)
Exit For
End If
End If
Next i
End If
End Function
Thank you - that is perfect