Koda in AutoIt?

    • Offizieller Beitrag


    Wie kann ich ein Hintergrundbild "wiederholen" lassen, so dass die ganze GUI bedeckt ist?

    Verstehe nicht, was du mit Wiederholen meinst. Erklär mal genauer, was wann und warum geschieht (od. auch nicht).

    Wie kann ich spezielle Punkte "magnetisch" machen, deren Koordinaten ich kenne?

    Stichwort: Grid - Du hinterlegst ein Raster (5x5 od. 10x10 ....Pixel). Wenn du mit der Maus über der GUI bist vergleichst du Positionen und beim MOUSE_UP Event dockst du an die nächstgelegene Rasterposition.

    Wie finde ich heraus, ob der Anwender in einem bestimmten Bereich herein geklickt hat?

    Vergleichen Mausposition bei MOUSE_DOWN mit GUI-Koordinaten. (Such mal bei Skripten nach "Doppelklick für (fast) jedes Control", darin hatte ich Ähnliches genutzt.

    Ist Drag&Drop möglich?

    Du kannst es ermöglichen. Prüfen ob die entsprechenden Bedingungen erfüllt sind (so etwa: MOUSE_DOWN, Koordinate=Ctrl, MOUSE_MOVE, MOUSE_UP über erlaubten Koordinaten)

  • Verstehe nicht, was du mit Wiederholen meinst. Erklär mal genauer, was wann und warum geschieht (od. auch nicht).


    Ich glaube er meint, dass das PIC mit den Punkten immer wiederhohlt wird. D.h wenn es zu ende ist soll automatisch noch eines dahinter / daneben konmmen.

    MfG. tobi_girst

    MfG. tobi_girst

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »tobi_girst« (Morgen, 25:63)

  • Ich glaube er meint, dass das PIC mit den Punkten immer wiederhohlt wird. D.h wenn es zu ende ist soll automatisch noch eines dahinter / daneben konmmen.


    Genau :D Geht das?


    Stichwort: Grid - Du hinterlegst ein Raster (5x5 od. 10x10 ....Pixel). Wenn du mit der Maus über der GUI bist vergleichst du Positionen und beim MOUSE_UP Event dockst du an die nächstgelegene Rasterposition.


    Wie ermittele ich denn die nächste? Und kann man die Maus dann überhaupt noch bewegen wenn das in einer endlos-Schleife ist?

    Vergleichen Mausposition bei MOUSE_DOWN mit GUI-Koordinaten. (Such mal bei Skripten nach "Doppelklick für (fast) jedes Control", darin hatte ich Ähnliches genutzt.


    Ok, werd ich machen...
    Edit: Habs mir angeschaut: Hast damit gleich die nächste Frage mit beantwortet, bei mir reicht aber schon ein Klick auf ein Input...

    Du kannst es ermöglichen. Prüfen ob die entsprechenden Bedingungen erfüllt sind (so etwa: MOUSE_DOWN, Koordinate=Ctrl, MOUSE_MOVE, MOUSE_UP über erlaubten Koordinaten)


    Achso, ok. Werde ich dann wohl erst einmal hinten ran stellen, ist mir noch etwas zu hoch :D

    Danke!

    Einmal editiert, zuletzt von MatthiasG. (1. März 2009 um 16:05)

    • Offizieller Beitrag


    Wie ermittele ich denn die nächste? Und kann man die Maus dann überhaupt noch bewegen wenn das in einer endlos-Schleife ist?


    Sowas solltest du nicht in einer Schleife machen. Du mußt die entsprechenden MessageCodes verwenden (GUIRegisterMessage).

    Zitat

    Wie ermittele ich denn die nächste?

    Wie wärs mit Rechnen? Bsp.: Du bist über Pos. x=224, y=312. Dein Raster ist 5x5. Dann einfach die Werte auf den nächsten 5-er runden. Also x=225, y=310.

  • Ok, dankeschön :thumbup:
    Bleibt jetzt nur noch eine Frage: Kann ich ein Hintergrundbild wie in HTML "repeaten" nebeneinander setzen?
    HAt sich erledigt, andere Frage s.u.

    Und noch was:

    Zitat von BugFix

    Vergleichen Mausposition bei MOUSE_DOWN mit GUI-Koordinaten. (Such mal bei Skripten nach "Doppelklick für (fast) jedes Control", darin hatte ich Ähnliches genutzt.


    Entschuldige, wenn ich so blöd frage, aber muss ich jetzt einfach

    [autoit]

    Opt("MouseCoordMode", 0)

    [/autoit]


    definieren und erhalte dann zum Fenster jetzt die Korrdinaten, die ich brauche?
    Und noch eine Frage dazu: Was ist, wenn ich mehrere GUIs im Programm habe und nur eine betroffen ist?

    2 Mal editiert, zuletzt von MatthiasG. (2. März 2009 um 15:58)