Kirjautuminen

Haku

Tehtävät

Koodit: VB6: Hiiren matkamittari

Kirjoittaja: Antti Laaksonen

Kirjoitettu: 17.02.2002 – 17.02.2002

Tagit: koodi näytille, vinkki

Melko yksinkertainen hiiren matkamittari VB:lle. Ilmoittaa matkan pituuden pikseleissä, senttimetreissä ja metreissä. Käyttää hyväkseen GetCursorPos-API-funktiota.

Formi:

Private Sub Form_Activate()
    AutoRedraw = True
    Dim matka As Long
    Dim kohta As POINTAPI
    Dim vkohta As POINTAPI
    matka = 0
    Do
        a = GetCursorPos(kohta)
        If vkohta.x <> 0 Or vkohta.y <> 0 Then
            matka = matka + Abs(kohta.x - vkohta.x)
            matka = matka + Abs(kohta.y - vkohta.y)
        End If
        If vkohta.x <> kohta.x Or vkohta.y <> kohta.y Then
            Cls
            Print matka; " pikseliä"
            Print CLng(matka * 15 / 567 * 100) / 100; " cm"
            Print CLng(matka * 15 / 567) / 100; " m"
        End If
        DoEvents
        vkohta = kohta
    Loop
End Sub

Private Sub Form_Unload(Cancel As Integer)
    End
End Sub

Moduuli:

Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

Public Type POINTAPI
        x As Long
        y As Long
End Type

Kommentit

Miksu [19.02.2002 10:03:16]

#

Tuo on törkiää! Mää kysyin e-maililla, että milläs sais sellasen, et se ottais myös formin ulkopuolisia hiiren touhuja. Etpä tienny. No, nyt se on seuraavana päivänä täällä. Mää kysyin just sitä varten, et mä olisin tehny tollasen. No, enhän mää nyt sitä enää voi tehä,ku se on täällä :)

Antti Laaksonen [19.02.2002 16:48:45]

#

Kysyit, miten saa reagoimaan formin ulkopuolisiin KLIKKAUKSIIN. Ei tuo klikkauksiin reagoi, ainoastaan katsoo hiiren paikan.

Miksu [22.02.2002 19:03:22]

#

Noh, niin, mutta melkein sama asia :) Tiesitkö sitten tuon silloinkin?

Kebab [14.05.2008 13:39:12]

#

Loistava ohjelma

itse alan ohjelmoimaan samanlaisia kunhan osaan...

Viderizer [29.12.2010 14:05:56]

#

Ööhh käytän 2010 versiota ja mulle pukkaa vaan erroreita...

ErroR++ [05.08.2011 10:52:41]

#

Käytät .net:tiä. Tässä sulle:

'poista formin koodi aivan kokonaan ja laita tämä tilalle! Muuten menee koko juttu pilalle!

Public Class Form1

Private Sub Form1_Activate(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Activate

    Dim matka As Long = 0 'Muuttujat
    Dim p as point
    dim vp as point
    Do
       p = cursor.position
       if not p = vp then
         matka += 1
      if not system.io.file.exists("C:\hiirenMatka.txt") then  System.IO.File.Create("C:\HiirenMatka.txt")

       System.io.file.writeAllText("C:\HiirenMatka.txt", matka & " pixels")
end if
       vp = p
    Loop
end sub
end class

Kirjoita kommentti

Muista lukea kirjoitusohjeet.
Tietoa sivustosta