GUI Hilfe

  • Hi ich habe mich jetzt mit GUIs befasst und möchte nun ein eigenes erstellen jedoch wurde in keinem tutorial gesagt woher die koordinaten bekommen wenn ich zb einen button einfügen möchte

    also frage: wie komm ich an die koordinaten meines guifensters

    Einmal editiert, zuletzt von NonStop (21. Juli 2007 um 14:47)

  • Entweder mit dem Au3 Info tool oder meine lieblingsvariante:

    probieren ;)


    Tipp was ein als x und y, wenns nicht passt (normalfall^^) korrigieren =)

    Oder du nimmst KODA - im Tutorial (siehe links) hat der doc was darüber geschrieben

    Mfg

    Huggy

    • Offizieller Beitrag

    Hi!

    Entweder mit Koda machen oder von Hand.
    Wenn du es von Hand machst, dann wie folgt:
    linke obere Ecke deiner GUI ist 0,0. Die vordere ist immer die X-Koordinate in links-rechts-Richtung, die hintere Y.
    40,300 bedeutet also z.B. um 300 Pixel nach unten und 40 nach rechts verschoben von der linken oberen Ecke ausgesehen.
    Von Hand muss man da aber viel probieren oder man lädt sich irgendwo ein Pixellineal runter (zur Not tut es das Window Info Tool...).

    Viel Erfolg,
    peethebee

  • thx für die superschnelle antwort 8o 8o
    aber mit dem auto it window infotool klappt es irgendwie nciht ganz^^

  • Wieso denn nicht? =)

    hast du die neuste autoit version?

    Definiere mal "geht nicht^^" =D

  • stimmt sollte mal ne neuere runterladen habe noch 3.2.3.14 (beta)

    edit: hast du ein pixellinel das du mir empfelen kannst?

    Einmal editiert, zuletzt von NonStop (21. Juli 2007 um 12:05)

  • Ich kann dir MouseGetCoords empfehlen, dann kannst du dir schnell ein einfaches basteln ;)

  • ok schau ich mir mal an^^

    achso noch ne frage nebenbei wie kann ich beim script to exe das smybol ändern?

    3 Mal editiert, zuletzt von NonStop (21. Juli 2007 um 12:25)

    • Offizieller Beitrag

    Hier mal eine Möglichkeit um Koordinaten zu ermitteln. Beenden, indem die Maus auf (0,0) gesetzt wird.

    Spoiler anzeigen
    [autoit]

    AutoitSetOption('MouseCoordMode', 1) ; 0 = relative coords to the active window
    ; 1 = absolute screen coordinates (default)
    ; 2 = relative coords to the client area of the active window
    _CursorPos()
    Func _CursorPos()
    Local $x, $y
    Do
    $pos = MouseGetPos()
    $x = $pos[0]
    $y = $pos[1]
    Select
    Case ((@DesktopWidth-$pos[0]) < 130) And ((@DesktopHeight-$pos[1]) >= 60)
    $x = @DesktopWidth-130
    $y = $pos[1]
    Case ((@DesktopWidth-$pos[0]) < 130) And ((@DesktopHeight-$pos[1]) < 60)
    $x = @DesktopWidth-130
    $y = @DesktopHeight-60
    Case ((@DesktopWidth-$pos[0]) >= 130) And ((@DesktopHeight-$pos[1]) < 60)
    $x = $pos[0]
    $y = @DesktopHeight-60
    EndSelect
    ToolTip('x = ' & $pos[0] & @LF & 'y = ' & $pos[1], $x, $y, 'Cursorposition', 1)
    Until ($pos[0] = 0 And $pos[1] = 0)
    ToolTip('Funktion beendet', $pos[0], $pos[1], 'Cursorposition', 1)
    Sleep(1500)
    ToolTip('')
    EndFunc ;==>_CursorPos

    [/autoit]
  • SO neues Problem habe jetzt einen spammer geschrieben jedoch weiß ich nicht wie ich es anstellen soll dass er vl bei einen klick auf save die sachen speichert(in irgendeiner datei fürs nächste mal^^)

    achso soweit bin ich schon^^:

    Spoiler anzeigen
    [autoit]

    HotKeySet("{f1}", "Senden1")
    HotKeySet("{f2}", "Senden2")
    HotKeySet("{f3}", "Senden3")
    HotKeySet("{f4}", "Senden4")
    HotKeySet("{f5}", "Senden5")

    [/autoit] [autoit][/autoit] [autoit]


    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $Form1 = GUICreate("Habbo Spammer by Djbstar", 634, 537, 193, 115)
    $Label1 = GUICtrlCreateLabel("Dies ist die erste Version der Habbospammers von Djbstar. Für fragen und Updates einfach im Deutschen Habbohotel an Djbstar wenden.", 56, 16, 507, 41)
    $F1 = GUICtrlCreateInput("Hier den Text für F1 eingeben", 56, 113, 505, 21)
    $F2 = GUICtrlCreateInput("Hier den Text für F2 eingeben", 56, 143, 505, 21)
    $F3 = GUICtrlCreateInput("Hier den Text für F3 eingeben", 56, 170, 505, 21)
    $F4 = GUICtrlCreateInput("Hier den Text für F4 eingeben", 56, 201, 505, 21)
    $F5 = GUICtrlCreateInput("Hier den Text für F5 eingeben", 56, 232, 505, 21)
    $Label2 = GUICtrlCreateLabel("ALT+0134 = Bombe", 50, 288, 515, 169)
    $Label9 = GUICtrlCreateLabel("ALT+0135 = Zutritt verboten Zeichen", 50, 300, 515, 169)
    $Label10 = GUICtrlCreateLabel("ALT+0145 = Schwarzes Schloss", 50, 300, 515, 169)
    $Label11 = GUICtrlCreateLabel("ALT+0151 = Musiknoten", 50, 312, 515, 169)
    $Label12 = GUICtrlCreateLabel("ALT+0153 = TM-Symbol", 50, 324, 515, 169)
    $Label13 = GUICtrlCreateLabel("ALT+0169 = C-Symbol", 50, 336, 515, 169)
    $Label14 = GUICtrlCreateLabel("ALT+0174 = R-Symbol", 50, 348, 515, 169)
    $Label15 = GUICtrlCreateLabel("ALT+0213 = Diamant", 50, 360, 515, 169)
    $Label16 = GUICtrlCreateLabel("ALT+0245 = Pik", 50, 372, 515, 169)
    $Label17 = GUICtrlCreateLabel("ALT+124 = Weißes Herz", 50, 384, 515, 169)
    $Label18 = GUICtrlCreateLabel("ALT+156 = Pfund Zeichen", 50, 396, 515, 169)
    $Label19 = GUICtrlCreateLabel("ALT+159 = Schwarzes Herz", 50, 408, 515, 169)
    $Label20 = GUICtrlCreateLabel("ALT+167 = Blitz", 50, 420, 515, 169)
    $Label21 = GUICtrlCreateLabel("ALT+168= ? umgekehrt", 50, 432, 515, 169)
    $Label22 = GUICtrlCreateLabel("ALT+173 = ! umgekehrt", 50, 432, 515, 169)
    $Label22 = GUICtrlCreateLabel("ALT+157 = Kreuz", 300, 288, 515, 169)
    $Label23 = GUICtrlCreateLabel("ALT+21 = Paragraf", 300, 300, 515, 169)
    $Label24 = GUICtrlCreateLabel("ALT+230=Kaffeetasse", 300, 300, 515, 169)
    $Label25 = GUICtrlCreateLabel("ALT+241 = Handy", 300, 312, 515, 169)
    $Label26 = GUICtrlCreateLabel("ALT+246 = Daumen runter", 300, 324, 515, 169)
    $Label27 = GUICtrlCreateLabel("ALT+248 = °-Symbol", 300, 336, 515, 169)
    $Label28 = GUICtrlCreateLabel("ALT+263= Daumen hoch", 300, 348, 515, 169)
    $Label29 = GUICtrlCreateLabel("ALT+271 = Euro Zeichen", 300, 360, 515, 169)
    $Label30 = GUICtrlCreateLabel("ALT+276 = Glühbirne", 300, 372, 515, 169)
    $Label31 = GUICtrlCreateLabel("ALT+422 = Totenschädel", 300, 384, 515, 169)
    $Label32 = GUICtrlCreateLabel("ALT+0172 = Fisch", 300, 396, 515, 169)
    $Label33 = GUICtrlCreateLabel("ALT+124 = Herz weiß", 300, 408, 515, 169)
    $Label34 = GUICtrlCreateLabel("ALT+159 = Herz Schwarz", 300, 420, 515, 169)
    $Label4 = GUICtrlCreateLabel("F3", 40, 172, 13, 17)
    $Label5 = GUICtrlCreateLabel("F4", 40, 205, 13, 17)
    $Label6 = GUICtrlCreateLabel("F5", 40, 236, 13, 17)
    $Label7 = GUICtrlCreateLabel("F1", 40, 114, 13, 17)
    $Label8 = GUICtrlCreateLabel("F2", 40, 141, 13, 17)
    $Savebut = GUICtrlCreateButton("Save",568,118,57,130,0)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    $F1Send = GUICtrlRead($F1)
    $F2Send = GUICtrlRead($F2)
    $F3Send = GUICtrlRead($F3)
    $F4Send = GUICtrlRead($F4)
    $F5Send = GUICtrlRead($F5)
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func Senden1()
    Send($F1Send)
    Send("{ENTER}")
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func Senden2()
    Send($F2Send)
    Send("{ENTER}")
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func Senden3()
    Send($F3Send)
    Send("{ENTER}")
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func Senden4()
    Send($F4Send)
    Send("{ENTER}")
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func Senden5()
    Send($F5Send)
    Send("{ENTER}")
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]

    4 Mal editiert, zuletzt von NonStop (21. Juli 2007 um 15:02)

    • Offizieller Beitrag

    Aber bei mir schon.

    So hab ich getestet:

    Spoiler anzeigen
    [autoit]

    #include <file.au3>
    $logPath = @ScriptDir & '\send.log'
    $F1Send = 'Test' ; als Ersatz für GUICtrlRead($F1)
    Senden1()
    Func Senden1()
    Send($F1Send)
    Send("{ENTER}")
    _FileWriteLog($logPath, $F1Send)
    EndFunc

    [/autoit]
  • Sorry aber ich glaube ich spreche für alle wenn ich sage:

    Irgendwann ist es leider jedem User zu blöd,immer hinterfragen zu müssen, wieso etwas nicht geht.
    "Funtzt nicht" kann heißen:

    er erstellt datei nicht
    er schreibt nix rein, aber erstellt datei
    er schreibt was falsches rein.


    Für die Zukunft bitte merken :)

    Mfg

    Huggy ;)

  • ok also könntest du villeicht das in mein script einfügen ich habe es eingefügt den text geändert neugestarten und der text vom letznen mal war verschwunden^^

  • Meinst du, er soll was in den Log schreiben wenn f1 gedrückt wurde?

    dann geht das so:

    [autoit]

    #include <file.au3>
    $logPath = @ScriptDir & '\send.log'
    $F1Send = 'Test' ; als Ersatz für GUICtrlRead($F1)
    HotKeySet("{F1}", "_f1")
    Func _F1()
    Send($F1Send)
    Send("{ENTER}")
    _FileWriteLog($logPath, "F1 wurde gedrückt")
    EndFunc
    While 1
    sleep(1000)
    Wend

    [/autoit]

    mfg

    • Offizieller Beitrag

    ?( ?(

    Kann mir nicht vorstellen, wie dein Skript verlorengeht, aber warum soll ich es dir neu schreiben? Was ich zur Verfügung hatte steht hier im Forum, also kopiers dir runter.

    Und was ich hinzugefügt habe ist eine Zeile pro Funktion und eine für $logPath. Also warum solltest du das nicht schreiben können?