Description of Keys & Commands
==============================
Note: English translation still under construction!

Command-Group "MOUSE": Maus
===========================

Mit den MOUSE-Commands können Mausklicks auf dem Bildschirm ausgeführt werden.
Nach einem Knopf-Klick kehrt der Mauszeiger eigenständig zum Ursprungsort zurück.
Das Ermitteln der erforderlichen Koordinaten ist kein Problem, denn für diesen
Zweck werden die Maus-Koordinaten stets im "Bearbeiten > Knöpfe"-Fenster in
der rechten, oberen Ecke angezeigt, sofern der Knopf mit dem gebogenen Pfeil
gedrückt ist. Wenn man mit der Maus auf den gewünschten Punkt fährt, an dem der
Mausklick später automatisiert ausgeführt werden soll, braucht man die angezeigten
Koordinaten nur noch in den Maus-Command übertragen.


/MOUSE.AREA.LEFT [x1..]: To mark an area on screen pos. <x1>,<y1> to <x2>,<y2>
------------------------

Example: {/MOUSE.AREA.LEFT 255,319,295,450}

Werden die Koordinaten weggelassen, so werden die Variablen VAR-1 bis 4 eingesetzt.


/MOUSE.CLICK.LEFT [x,y]: To set left button mouse click on screen pos. <x>,<y>
/MOUSE.CLICK.RGHT [x,y]: To set right button mouse click on screen pos. <x>,<y>
/MOUSE.DOUBLE.LFT [x,y]: To set left button double mouse click on screen pos. <x>,<y>
------------------------

Example: {/MOUSE.CLICK.LEFT 255,319}

Ab Version 7.9 können statt absoluter Koordinatenangaben die Variablen VAR eingesetzt werden.
Dabei ist x stets VAR-1 und y VAR-2.
Um mit den Variablen zu arbeiten läßt man die Koordinaten-Parameter einfach weg.

Beispiel:

{/BTCH.EXPLICIT}
{/VAR.FLD.CHANGE 1}
{/VAR.SET 288}
{/VAR.FLD.CHANGE 2}
{/VAR.SET 150}
{/MOUSE.CLICK.LEFT}
{/VAR.FLD.CHANGE 1}


--> Hinweis
Der Makro-Rekorder bedient sich auch dieser Commands, indem er sie während der
Aufnahme generiert. Nachträgliche manuelle Änderungen stellen also kein Problem
dar.


/MOUSE.GO.ADD-X [v] ...: To move mouse pointer <+/- v> pixel on X-axis (default VAR1)
/MOUSE.GO.ADD-Y [v] ...: To move mouse pointer <+/- v> pixel on Y-axis (default VAR2)
/MOUSE.GO.SET [x,y] ...: To move mouse pointer to co-ordinates <x,y> (default VAR1/2)
/MOUSE.GO.WIN .........: To move mouse pointer to the left-top corner of the active window
------------------------

Example: s. below


/MOUSE.LEFT.DOWN ......: To set left mouse button into button-down-state
/MOUSE.LEFT.UP ........: To set left mouse button into button-up-state
------------------------

Example: s. below


/MOUSE.MEM.SNAP .......: To snap current mouse pointer co-ordinates into RK-MousePosMemory
/MOUSE.GO.MEM .........: To move mouse pointer to co-ordinates of RK-MousePosMemory values
------------------------

Example 1:

{/BTCH.EXPLICIT}
{/MOUSE.MEM.SNAP}
{/MOUSE.GO.SET 174,174}
{/MOUSE.LEFT.DOWN}
{/MOUSE.GO.ADD-X 80}
{/MOUSE.GO.ADD-Y 25}
{/MOUSE.LEFT.UP}
{/MOUSE.GO.MEM}

Example 2:

{/BTCH.EXPLICIT}
{/MOUSE.OFFSET *Editor,160,309}
{/MOUSE.MEM.SNAP}
{/MOUSE.GO.SET 255,365}
{/MOUSE.LEFT.DOWN}
{/VAR.FLD.CHANGE 2}
{/VAR.SET 16}
{/BTCH.LOOP.START.VAL 5}
{/MOUSE.GO.ADD-Y}
{/BTCH.LOOP.END}
{/MOUSE.LEFT.UP}
{/BTCH.DELAY .5}
{/MOUSE.GO.MEM}
{/VAR.FLD.CLR}


Relative Koordinaten zu einem definiertem Fenster
-------------------------------------------------
Möchte man das Menü eines nicht maximierten Fensters automatisieren, so ergibt sich
das Problem, daß bei einer Fensterverschiebung die Sache nicht mehr funktioniert.
Für diesen Zweck stellt RK einen "auto-generierten" Command zur Verfügung, der die
Differenz, die sich aus der Fensterverschiebung ergibt, ausgleicht.
Der Command nennt sich

{/MOUSE.OFFSET}

und kann erzeugt werden, indem man im Fenster "Bearbeiten > Knöpfe" auf den Knopf mit
dem Koordinaten-Symbol über dem Zuweisungsfeld klickt.

Nachdem man den o.g. Knopf angeklickt hat, wird man nach dem Fenster-Titel gefragt.
Die linke, obere Ecke dieses Fensters dient zukünftig als neuer 0/0-Punkt, und nicht
mehr die linke, obere Ecke des Bildschirmes.
Dieser Offset ist aber nur innerhalb des Skriptes gültig und könnte sogar durch einen
anderen Offset weiter unten im Script neu festgesetzt werden.
Nach Eingabe des Titels macht RK den Rest allein, indem der Command mit den berechneten
Koordinaten in das Skript eingefügt wird. Normalerweise an den Anfang des Skriptes,
steht dort der Command BTCH.EXPLICIT, dann in die folgende Zeile.

-> Wichtig!
Zu dem Zeitpunkt, an dem der Koordinaten-Knopf angeklickt wird, muß das Skript lauffähig
sein, damit RK die Relationen korrekt berechnen kann.
Mit anderen Worten: Nach dem man die Koordinaten der Mouse-Commands auf ein Fenster aus-
gerichtet hat bzw. mittels des Makro-Rekorders generieren ließ, darf das betroffene
Fenster in seiner Position nicht verändert werden, bevor man die Offset-Funktion aufruft.

-> Test

- Öffne Notepad
- Starte den Makro-Rekorder
- Klicke in Notepad auf Bearbeiten
- Klicke in Notepad auf Uhrzeit/Datum
- Beende die Aufnahme

Wenn wir nun das Makro abspielen, wird hoffentlich das Datum/Uhrzeit in den Text eingefügt.
Würden wir nun das Notepad-Fenster verschieben, so funktioniert das nicht mehr, da RK die
Mausklicks irgendwo "im Wald" macht.
Aber Stop! Bitte das Notepad-Fenster jetzt nicht verschieben !!!

- Klicke den Koordinaten-Knopf im Bearbeiten > Knöpfe - Fenster
- Gebe den Fenster-Titel ein: *Editor
  Der Asterics (Platzhalter, Joker) ist wichtig, da sich der Fenster-Titel - je nach
  geöffnetem Dokument - verändert.
  Bitte auf Groß- und Kleinschreibung achten!
- Anschließend fügt RK den Offset-Command ein, der so ähnlich aussehen dürfte:
  {/MOUSE.OFFSET *Editor,180,120}

Wenn nun das Skript abgespielt wird, so sollte es keine Rolle mehr spielen, an welcher
Bildschirm-Position sich Notepad befindet.

-> Tip
Diese Funktion eignet sich auch für die Nachbearbeitung eines mit dem Makro-Rekorder
generierten Skripts.
