Avatar billede marvind Nybegynder
12. oktober 2007 - 09:33 Der er 8 kommentarer og
1 løsning

"skrabe" med musen

jeg er ved at lave et program der skal kunne "skrabe" med musen og når musen er over en bestemt farve skal den udføre noget kode

jeg kan godt få musen til at bevæge sig, bare ikke på den rigtige måde.

jeg vil kunne vælge to punkter på skærmen(ved at bevæge musen derhen og trykke på "a")

jeg vil så have musen til at starte på det første punkt og bevæge sig nedad til den når bunden af "markeringen" så skal den gå tilbage til toppen, men et par pixels til højre


sådan:
* 3 5
| | |
| | |
| | |
| | |
2 4 #

musen skal starte fra * bevæge sig til 2 hoppe op til 3 og bevæge sig ned mod 4 osv
Avatar billede marvind Nybegynder
12. oktober 2007 - 22:46 #1
bump
Avatar billede marvind Nybegynder
14. oktober 2007 - 13:38 #2
bump igen
Avatar billede marvind Nybegynder
22. oktober 2007 - 10:41 #3
bump...
Avatar billede tjacob Juniormester
24. oktober 2007 - 18:49 #4
Dine Bump hjælper ingenting. Alle spørgsmål ligger i den rækkefølge de bliver oprettet.

Jeg har svært ved at se hvad du skal bruge dette til, men anyway her er et forslag:

Læg følgende kode i en Form, og tryk "a" med cursoren 2 forskellige steder.

Jeg har sat "opløsningen" til 10 pixels, men det kan du jo ændre som du vil.
Jeg har desuden indsat en Sleep, da det ellers ville gå så hurtigt, at man ikke kan se det. Den kan du også ændre som du synes. Vær opmærksom på at du ikke kan bruge musen mens sub'en kører.

Public Punkt1 As Point
    Public Punkt2 As Point
    Public PunktValgt As Boolean

    Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) _
        Handles Me.KeyDown

        If e.KeyCode = Keys.A Then
            If PunktValgt = False Then
                Punkt1 = Cursor.Position
                PunktValgt = True
            Else
                Punkt2 = Cursor.Position
                PunktValgt = False
                Call FlytCursor()
            End If
        End If

    End Sub

    Public Sub FlytCursor()

        Dim Delta As Integer = 10
        Dim i, j As Integer
        Cursor.Position = Punkt1
        For j = 0 To CInt((Int(System.Math.Abs(Punkt1.X - Punkt2.X)) / Delta))
            For i = 0 To CInt((Int(System.Math.Abs(Punkt1.Y - Punkt2.Y)) / Delta))
                Cursor.Position = New Point(Punkt1.X + (j * Delta), Punkt1.Y + (i * Delta))
                System.Threading.Thread.Sleep(100)
            Next i
        Next j

    End Sub
Avatar billede tjacob Juniormester
24. oktober 2007 - 18:56 #5
PS Du skal lige huske at sætte formens KeyPreview til True
Avatar billede tjacob Juniormester
24. oktober 2007 - 18:58 #6
PPS: Det er også forudsat at det første punkt ligger over og til venstre for det andet punkt.
Avatar billede marvind Nybegynder
25. oktober 2007 - 00:01 #7
Mange tak for hjælpen, det er præcis som jeg villa have det :D
smider du lige et svar ;)
Avatar billede tjacob Juniormester
25. oktober 2007 - 08:37 #8
OK ,-svar
Avatar billede tjacob Juniormester
04. november 2007 - 17:22 #9
Hvad så Marvind? -Er det ikke lukketid?

Hvis du ikke kunne bruge svaret alligevel, så giver du bare points til dig selv.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester