Avatar billede folle Nybegynder
30. december 2001 - 17:54 Der er 1 kommentar og
1 løsning

Musens position på skærmen

Jeg laver et program hvor man skal kunne klikke på et label og derefter flytte det rundt på skærmen. Til dette har jeg brug for at hente musens position på skærmen. Jeg bruger metoden angivet i dette spørgsmål:
http://www.eksperten.dk/spm/113767
Det virker fint bortset fra at Y-værdien altid er nul. Hvad kan der være gået galt?

Modul1:
Type POINTAPI \' This holds the logical cursor information
      X As Integer
      Y As Integer
End Type

Declare Sub GetCursorPos Lib \"User32\" (lpPoint As POINTAPI)

Form1:

Private Sub Timer1_Timer()
Dim rect As POINTAPI
Call GetCursorPos(rect)
Label1.Left = rect.X*10
Label1.Top = rect.Y
End Sub

Timeren aktiveres når man trykker på Label1 og deaktiveres når man slipper knappen.
Avatar billede ea_data Nybegynder
30. december 2001 - 18:57 #1
Prøv med denne deklaration. Den virker hos mig
Public Type POINTAPI
    X As Long
    Y As Long
End Type
Declare Function GetCursorPos Lib \"user32\" (lpPoint As POINTAPI) As Long
Avatar billede ea_data Nybegynder
30. december 2001 - 19:33 #2
Du kan også gøre det på denne måde - hvor du udnytter drag and drop:
(så slipper du for api rutine og timerkontrol
________________________________________

Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single)
Label1.Top = Y
Label1.Left = X

End Sub
________________________________________________

Private Sub Label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label1.Drag
End Sub
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