Sign in to follow this  
Followers 0

Drag and Drop

7 posts in this topic

Posted

Can I get some more information about handling drag and drop? I can't find so much information about it in the help file.

thnx, Kip

Share this post


Link to post
Share on other sites



Posted

Can I get some more information about handling drag and drop? I can't find so much information about it in the help file.

thnx, Kip

what exacly do you want to know? whatever it is search in autoit library and here

Share this post


Link to post
Share on other sites

Posted

no, that's only Perform Drag/drop. But I wanna know: If you drag and drop in a GUI, where does the drag start (x,y) and where does it end? (x,y)

Share this post


Link to post
Share on other sites

Posted

no, that's only Perform Drag/drop. But I wanna know: If you drag and drop in a GUI, where does the drag start (x,y) and where does it end? (x,y)

You want to CAUSE a drag-n-drop, or MONITOR one?

If you want to do it from the script, look at MouseClickDrag() in the help file.

If you want to monitor the user doing it, I think you want _IsPressed() to monitor the button down and button up, getting the mouse coordinates with MouseGetPos() at each end. This would raise the question of how to tell the difference between a click-n-drag and just a click... I don't know.

:)

Share this post


Link to post
Share on other sites

Posted

He wants to monitor one, so he can find out where the GUI is placed so it can be added to the users script created in his program.

Share this post


Link to post
Share on other sites

Posted

In that case, this will assume that holding down left click more than 500msec is a "click-n-drag", and will ToolTip the X/Y coordinates at each end:

#include <misc.au3>

While 1
	If _IsPressed("01") Then
		$MousePos = MouseGetPos()
		$Timer = TimerInit()
		Do
			If Not _IsPressed("01") Then ExitLoop
		Until TimerDiff($Timer) > 500
		If _IsPressed("01") Then
			ToolTip("Left click held down at:" & @LF & _
					"X = " & $MousePos[0] & "   Y = " & $MousePos[1])
			Do
				Sleep(5)
			Until Not _IsPressed("01")
			$MousePos = MouseGetPos()
			ToolTip("Left click released at:" & @LF & _
					"X = " & $MousePos[0] & "   Y = " & $MousePos[1] & @LF & _
					"In " & Round(TimerDiff($Timer) / 1000, 3) & " seconds.")
			ExitLoop
		EndIf
	EndIf
WEnd

MsgBox(64, "Success", "Detected left click held more than 500msec.")

There may be some slick Windows API to tell if an actual object (text, file name, etc.) is being dragged, but that would require an answer from smarter people than me.

:)

Share this post


Link to post
Share on other sites

Posted

thnx for that script. :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0




  • Recently Browsing   0 members

    No registered users viewing this page.