<< Click to Display Table of Contents >> Navigation: 3. Script Language > Mouse-Operations > Compatible Engine > Compatible Engine Mouse-Operations |
MiniRobotLanguage (MRL)
MPO. Command
Mouse Position Move
Intention
This Command will make the mouse jump immediately from the current position to the current "active point".
What is the "Active Point"?
The "active Point" is the "Focus Point" of the robot. It is the point "On screen", where the next robot action - for example a mouse-click - will happen.
How do i set the "active point"?
Normally you locate a button, window or object. These are all rectangular areas. The robot will set the "active point" to the mIdpoint of these areas.
Can i influence the "active point" in any way?
This is where MPO. enters the game. Using MMV. or MPO. or MAP. you can set or move the "active point". In case you use MPO. with parameters, MPO. will not only move the mouse, but also move the "Active Point".
The difference between these commands is, that
• MAP. will only move the "active point"
• MPO. will also jump with the mouse to the new "active point"
• MMV. will make a mouse-move to the new "active point"
In most cases the "Active Point" is been set, by localizing a button or control or object.
In that case, the "Active Point" is in the center of the rectangular object.
You can find some more details on the "Active Point" and how to move it, here:
Syntax
MPO.[P1|][P2,P3]
Parameter Explanation
P1 - (optional) prototype coordinates
Prototype can be omitted or any of:
GROUP I (based on rectangular Area) Prototypes
"w" - choose RECT from last located Window (Child-/ or Top-Window)
"t" - choose RECT from last located Top-Window
"k" - choose RECT from last located Child-Window
"a" - choose RECT from last located Accessible Object (E8) (using SAO.,AGR.,NAV. etc.)
"g" - choose RECT from last located graphical Object (E9) (using QFR,, ANA., UNI. etc.)
"o" - choose RECT from last located Object/Window (any sort of)
"s" - use Screen-Coordinates, these will go over the whole Screen, including Dual- or Multi-Monitors
for these "Base-Prototypes" you can specify additionally fine-tuning using:
- Quadrant coordinates like:
MMV.o|{A2-B4}
- numeric numbers (positive and negative)
MMV.o|-20,90
and you can combine this:
MMV.o|-20,90 {A2-B4}
also there are three Prototypes that will do sort of "left-right" or "Mid" Positioning. These 3 can not be combined with each other.
"d" - Sort of LBO. - Positioning on the Left side of the current Rectangle.
"e" - Sort of RBO. - Positioning on the Right side of the current Rectangle.
"r" - Midpoint of the last RECT (default)
"u" - Move down by the size of the Windows-Titlebar
"v" - Move up by the size of the Windows-Titlebar
' Example (Combination):
MMV.oe|-20,90 {A2-B4}
GROUP II (based on Point) Prototypes
"m" - actual mouse-position. Usefull if the user moves the mouse somewhere and you want to act on that position.
"b" - last mouse-position, before last Move.
"p" - current "Active Point". (Default)
"l" - Last "Active Point".
If prototype is omitted, Screen-Coordinates are taken.
P2, P3 - (optional) x,y - coordinates
numeric coordinates, separated by comma. You can use
variable and Formula in (..). You can also use a
Point-Variable instead of two coordinates.
Speed in Ticks:
This command uses typically around 900.000 Ticks.
Example
'***********************************
' MMV./MPO. -Demo
'***********************************
STW.ct|PBWindowClass:0|BCS - Testform
SCW.nct|1|Button|Install
MPO.
END.
Remarks
Mostly you do not need to specify the coordinates with MPO. because you can directly write the coordinates into the Mouse-Click commands, like these following:
MLC - Mouse-Left-Click (Invisible)
MLI - Mouse Left Click quIckly (Invinsible)
MRC. / MRI. - Mouse-Right-Click
MLM - Mouse Left click Move (Invinsible)
and others.
Limitations:
-
See also:
• 1.C Direct Engine and Compatible Engine
• MLE. - Mouse-Left-Click Event
• MLM - Mouse Left click Move (Invinsible)
• MLI - Mouse Left Click quIckly (Invinsible)
• MRC. / MRI. - Mouse-Right-Click