Jag har en Image som jag har satt egenskapen dragmode = 1 Det har inte hänt nått i detta inlägg på ett tag nu så jag provar o sätta fart på det:) Gör manuell drag och dropp istället. Kan du göra så at den börjar flytta först när man rör musen med knappen nere. Tack, men jag har löste problemet med något helt annat. Är inte det lite overkill? Du kan lösa det utan API anrop: Jo du har rätt, det är lite väl mycket att ta i om man jämnför med ditt exempelFlytta Klickbara objekt
och detta gör ju att jag kan flytta Objektet runt omkring på mitt formulär
men hur tusan ska jag göra för att få den klickbar?
för att så fort jag klickar på den så tror ju programet att jag ska flytta den.Sv: Flytta Klickbara objekt
Jag vet faktiskt inte men kan alternativet va att köra högerklick för att flytta o vänster för att klicka? eller använda shift + klick för att flytta?
bara tankar från en som inte vet.
/BSv: Flytta Klickbara objekt
Sv: Flytta Klickbara objekt
Löste det så här
<code>
Private Type POINTAPI
xx As Long
yy As Long
End Type
Private cuX As Integer, cuY As Integer
Private imgX As Integer, imgY As Integer
Private Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
errX = 0
errY = 0
Dim co As POINTAPI
i = GetCursorPos(co)
imgX = Image1.Left
imgY = Image1.Top
cuX = co.xx * 15
cuY = co.yy * 15
End Sub
Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim co As POINTAPI
i = GetCursorPos(co)
If Button = 1 Then
errX = co.xx * 15 - cuX
errY = co.yy * 15 - cuY
Image1.Left = imgX + errX
Image1.Top = imgY + errY
End If
End Sub
</code>Sv: Flytta Klickbara objekt
<code>
Private OffsetX As Single, OffsetY As Single
Private Sub Image2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button And vbLeftButton Then
OffsetX = X
OffsetY = Y
End If
End Sub
Private Sub Image2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button And vbLeftButton Then
Image2.Move Image2.Left + (X - OffsetX), Image2.Top + (Y - OffsetY)
End If
End Sub
</code>Sv: Flytta Klickbara objekt
Tackar :)