Niin et miten tossa VB6 esim. tehään näin: kun hiirellä klikkaa jonnekin isoon pictureboxiin, niin miten voi laittaa pienen Imagen liikkumaan sinne?
Pitäiskö mennä hissukseen vai lujaa, kierrellen vai suoraan vaiko kertarysäyksellä??
keskivauhtia ja mieluiten suoraan
No tässä eräs ratkaisu. Image ei pysähdy lainkaan tällä koodilla, joten se osa on vielä lisättävä.
Dim X0 As Single, Y0 As Single Dim dx As Single, dy As Single Dim v As Single, d As Single Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) v = 5 'nopeus, pixel/20 ms x0 = Image1.Left + Image1.Width / 2 'imagen keskipisteen x y0 = Image1.Top + Image1.Height / 2 'imagen keskipisteen y d = Sqr((X - x0) ^ 2 + (Y - y0) ^ 2) 'etäisyys klikkauspisteeseen dx = (X - x0) * v / d 'vaakanopeus dy = (Y - y0) * v / d 'pystynopeus Timer1.Enabled = True End Sub Private Sub Timer1_Timer() x0 = x0 + dx y0 = y0 + dy Image1.Move x0 - Image1.Width / 2, y0 - Image1.Height / 2 End Sub
Timerin Enabled = False ja Interval = 20
Ota ensin Image. Ja kopioi tai leikkaa image. Tämän jälkeen ota PictureBoxi. Varmista että PictureBox on valittuna. Nyt paina sift+insert ja se liittää imagen PictureBoxin sisään Nyt tubla-klikkaa PictureBoxa ja kirjoita siihen koodi:
Do Image1.Top = Image1.Top - 1 Loop
Edit: no jotenkin aavistin että setä ehtii ensin mutta en jaksa tätä viestiä poistaakaan :)
Thanks 4 urs! Nyt taas pääsen hiukan eteenpäin!
Aihe on jo aika vanha, joten et voi enää vastata siihen.