Tämä kysymys on hieman typerä, mutta kuitenkin.
Olen säätämässä verolevyjen suunnitteluohjelmaa ja ohjelmani piirtää picture1:n verolevyn reiät tähän tapaan:
For X = 0 To Picture1.ScaleWidth Step 10
For Y = 0 To Picture1.ScaleHeight Step 10
Picture1.Circle (X, Y), 2, vbBlack
Next
NextJa kun laudalle aletaan rätviä hiirulaisen avulla komponenttejä niin niiden päiden pitäisi sattua lähimmän tuollaisen "reijän" keskipisteeseen, itse en keksinyt mitään järkevää tapaa ratkaista tätä.
Eli siis tarkoitus olisi että komponentti liikkuisi hiirellä vedettäessä aina 10 pikseliä kerrallaan? Jos käsitin oikein, niin tällaisesta esimerkistä voisi olla apua:
Private Sub Form_Load() Form1.ScaleMode = 3 End Sub Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Circle (Int(X / 10) * 10, Int(Y / 10) * 10), 10, 0 End Sub
Edit: Tuossa Int(x / 10) * 10 -juttussa on ideana siis se että ensin jaetaan kymmenellä, ja sitten poistetaan desimaalit ja kerrotaan taas kymmenellä.
Tällöin esim.
5 on 5/10 = 0.5 (int) = 0 --> 0*10 = 0
24 on 24/10 = 2.4 (int) = 2 --> 2*10 = 20
Kiitos hunajavohveli, toimii täysin niinkuin oli tarkoituskin. =)
Aihe on jo aika vanha, joten et voi enää vastata siihen.