Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Kohdistus tietyin välein

kaviaari [04.12.2004 08:50:54]

#

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
Next

Ja 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ä.

hunajavohveli [04.12.2004 09:27:21]

#

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

kaviaari [04.12.2004 09:31:08]

#

Kiitos hunajavohveli, toimii täysin niinkuin oli tarkoituskin. =)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta