Avatar billede therichman Nybegynder
19. august 2003 - 15:39 Der er 6 kommentarer og
2 løsninger

Musens position

Hej Eksperter!
Jeg er kunne godt tænke mig at vide hvordan man kan vise musemakørens position.
Jeg har prøvet med:

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label1.Caption = X & "," & Y
End Sub

Men den kan ikke vise hvor musemarkøren er hvis den er udenfor formen, og det kan jeg ikke bruge, da den skal vise musemarkørens position på et browserfelt.

Håber i kan hjælpe...
Hilsen:
Therichman
Avatar billede overchord Nybegynder
19. august 2003 - 15:49 #1
Lav et api kald:

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

Derefter kan du kalde GetCursorPos
Avatar billede therichman Nybegynder
19. august 2003 - 16:30 #2
Prøvede at sætte
Declare Function GetCursorPos Lib "user32" _
  Alias "GetCursorPos" (lpPoint As POINTAPI) As Long

aller øverst i min kode, og lavede en timer, satte dens Interval til 1, og skrev i timeren: Label1.Caption = GetCursorPos

Men jeg får en fejl, og den markere: Declare Function GetCursorPos Lib "user32" _
  Alias "GetCursorPos" (lpPoint As POINTAPI) As Long
Avatar billede lokespas Nybegynder
19. august 2003 - 16:42 #3
du skal lige huske POINTAPI aller øverst

Type POINTAPI
        x As Long
        y As Long
End Type

og i din sub eller function

Dim pt As POINTAPI

GetCursorPos pt

label1.caption = pt.X & "," & pt.Y


håber det hjælper
Avatar billede therichman Nybegynder
19. august 2003 - 18:35 #4
Hej lokepas.Jeg får bare fejlen:
Cannot define a public User-defined type within a privat object module.
Og så markere den Type POINTAPI
Avatar billede sjh Nybegynder
19. august 2003 - 20:20 #5
'---------------------------- Form1 ----------------------------
' Husk en Timer
'---------------------------------------------------------------
Option Explicit

Private Type POINTAPI
        X As Long
        Y As Long
End Type

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

Private Sub Form_Load()
  Timer1.Interval = 1
End Sub

Private Sub Timer1_Timer()
Dim Pos As POINTAPI
  GetCursorPos Pos
  Me.Caption = "X:" & Str$(Pos.X) & " Y:" & Str$(Pos.Y)
End Sub
'---------------------------- Form1 ----------------------------
Avatar billede martin_moth Mester
20. august 2003 - 08:18 #6
therichman: Jeg mener at kunen huskem at en type skal altid erklæres i et modul. Prøv det, og se om det ikke hjælper
Avatar billede devmann Nybegynder
20. august 2003 - 15:22 #7
Du kan også ...

Private WithEvents tmrTimer As Timer = New Timer

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
        tmrTimer.Enabled = True
End Sub

Private Sub tmrTimer_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles tmrTimer.Tick
        If tmrTimer.Enabled Then
            Debug.WriteLine(MousePosition.X)
        End If
End Sub

Så er du fri for at skulle gøre brug af "user32" .. ikke så tosset!  :-)
Avatar billede therichman Nybegynder
20. august 2003 - 18:29 #8
Sjh Dit virkede.
Men er det egentlig ikke Lokepas jeg skal takke?
Jeg deler pointene imellem jer.
Man behøver åbenbart ikke sætte det ind i et modul Martin moth.
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
Kategori
Kurser inden for grundlæggende programmering

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

Seneste spørgsmål Seneste aktivitet
13 min siden Ny printer, men hvilken Af mort1 i Printere
I går 19:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging