Great stuff Metaxal!
Thanks for adding recording mouse clickNdrag events and Relative to window checkbox.
One additional function I would really love to see is a checkbox:
[X] Rel Mouse
This would produce code with relative coordinates to the initial mouse position, instead of absolute hardcoded numbers.
Take for instance a look at the following recording sessions:
STANDARD RECORDING WITH ABSOLUTE MOUSECOORDINATES,
Make a square selection of objects, using ClickNDrag
Code:
CoordMode, Mouse, Screen
SetMouseDelay, 2
MouseMove, 0, 0
Send, {VK01 down}
MouseMove, 1, 0
MouseMove, 2, 0
MouseMove, 3, 0
MouseMove, 4, 0
MouseMove, 5, 0
MouseMove, 6, 0
MouseMove, 7, 0
MouseMove, 8, 0
MouseMove, 9, 0
MouseMove, 10, 0
MouseMove, 11, 0
MouseMove, 12, 0
MouseMove, 13, 0
MouseMove, 14, 0
MouseMove, 15, 0
MouseMove, 16, 0
MouseMove, 17, 0
MouseMove, 18, 0
MouseMove, 19, 0
MouseMove, 20, 0
MouseMove, 20, 1
MouseMove, 20, 2
MouseMove, 20, 3
MouseMove, 20, 4
MouseMove, 20, 5
MouseMove, 20, 6
MouseMove, 20, 7
MouseMove, 20, 8
MouseMove, 20, 9
MouseMove, 20, 10
MouseMove, 20, 11
MouseMove, 20, 12
MouseMove, 20, 13
MouseMove, 20, 14
MouseMove, 20, 15
MouseMove, 20, 16
MouseMove, 20, 17
MouseMove, 20, 18
MouseMove, 20, 19
MouseMove, 20, 20
^F11::ExitApp
Usefull for selecting multiple documents, or icons for instance.
However, it will only playback from the absolute coordinates
starting at 0,0
Would be nice if it would play back from the current mouseposition, so
the recording with relative mousevoordinates could look like this:
Code:
CoordMode, Mouse, Screen
SetMouseDelay, 2
MouseGetPos, xpos, ypos
MouseMove xpos, ypos
Send, {VK01 down}
MouseMove, xpos+1, ypos
MouseMove, xpos+2, ypos
MouseMove, xpos+3, ypos
MouseMove, xpos+4, ypos
MouseMove, xpos+5, ypos
MouseMove, xpos+6, ypos
MouseMove, xpos+7, ypos
MouseMove, xpos+8, ypos
MouseMove, xpos+9, ypos
MouseMove, xpos+10, ypos
MouseMove, xpos+11, ypos
MouseMove, xpos+12, ypos
MouseMove, xpos+13, ypos
MouseMove, xpos+14, ypos
MouseMove, xpos+15, ypos
MouseMove, xpos+16, ypos
MouseMove, xpos+17, ypos
MouseMove, xpos+18, ypos
MouseMove, xpos+19, ypos
MouseMove, xpos+20, ypos
MouseMove, xpos+20, ypos+1
MouseMove, xpos+20, ypos+2
MouseMove, xpos+20, ypos+3
MouseMove, xpos+20, ypos+4
MouseMove, xpos+20, ypos+5
MouseMove, xpos+20, ypos+6
MouseMove, xpos+20, ypos+7
MouseMove, xpos+20, ypos+8
MouseMove, xpos+20, ypos+9
MouseMove, xpos+20, ypos+10
MouseMove, xpos+20, ypos+11
MouseMove, xpos+20, ypos+12
MouseMove, xpos+20, ypos+13
MouseMove, xpos+20, ypos+14
MouseMove, xpos+20, ypos+15
MouseMove, xpos+20, ypos+16
MouseMove, xpos+20, ypos+17
MouseMove, xpos+20, ypos+18
MouseMove, xpos+20, ypos+19
MouseMove, xpos+20, ypos+20
^F11::ExitApp
This would greatly help in macro recording for instance for games
or drawing programs, where you repeatedly want to perform a
complex mouse action, but on different locations on the screen.
[/code]