Fensterposition mit Variablen

  • Hallo,

    Ich hab probiert mit einem Button ein neues Fenster, was jeweils neben dem vorherigen Fenster aufpoppt, zu erstellen.
    Button:

    Spoiler anzeigen
    [autoit]

    Func close()
    $c += 10
    $Form2 = GUICreate("Hello", 153, 77 & "314" & 91)
    $Label1 = GUICtrlCreateLabel("Hello", 32, 8, 100, 56)
    GUICtrlSetFont(-1, 35, 400, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    EndFunc

    [/autoit]


    [spoiler]Leider passiert dann das: [Blockierte Grafik: http://www.bilder-hochladen.net/files/big/k8rn-3-eccb.png][/spoiler}]

    Danke :)

  • Es wäre denke ich einfacher deinen Fehler nachzuvollziehen, wenn du ein funktionsfähiges Beispiel mit dem von dir genannten Fehler geben würdest.
    Ich habe das Script etwas umgeschrieben und ausgeführt, aber der Fehler mit der "Zensur" entstand bei mir nicht.
    Könntest du vll erklären was der Sinn des Height parameters bei dir ist:

    [autoit]


    77 & "314" & 91

    [/autoit]


    =7731491
    Dein Bildschirm wird wahrscheinlich aber nicht mal über 2000 Pixel hoch sein.

  • 77 & "314" & 91


    ..das sind NICHT 3 verschiedene Parameter..
    Laß dir von AutoIt mal den Ausdruck

    [autoit]

    $Ausdruck=77 & "314" & 91

    [/autoit]


    ausgeben ;)
    [edit]
    schade, zu lange formuliert :rofl:
    Gruß
    ytwinky

    (Ich) benutze stets die aktuelle (Beta) und SciTE..

  • Hab ich gemacht, aber wie verbinde ich denn sonst die Zahlen mit der Variable?

    [autoit]

    $a=77 & "314" & 91
    MsgBox(0,"TEST",$a)

    [/autoit]
  • Gib doch Erstmal ein funktionsfähiges Script anhand dessen wir nachvollziehen können, was genau du machen möchtest.

    Hab ich gemacht, aber wie verbinde ich denn sonst die Zahlen mit der Variable?

    Inwiefern verbinden?
    Meinst du als Zeichenkette zusammenfügen oder z.B. Addieren

  • Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 405, 150, 580, 322)
    $Button1 = GUICtrlCreateButton("Button1", 72, 24, 233, 81)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    $c = 580
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    close()
    EndSwitch
    WEnd

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

    Func close()
    $c += 10
    $Form2 = GUICreate("Hello", 153, 77 & $c & 91)
    $Label1 = GUICtrlCreateLabel("Hello", 32, 8, 100, 56)
    GUICtrlSetFont(-1, 35, 400, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    EndFunc

    [/autoit]
  • Hab ich gemacht, aber wie verbinde ich denn sonst die Zahlen mit der Variable?

    [autoit]

    $a=77 & "314" & 91
    MsgBox(0,"TEST",$a)

    [/autoit]

    Die einzige erkennbare Variable ist $a
    Meinst du sowas?

    [autoit]

    $c='314'
    $a=77 &$c &91

    [/autoit]

    Damit verknüpfst du Strings, wenn du die Werte addieren willst, dann
    tus auch:

    [autoit]

    $a=77 +$c+ 91

    [/autoit]

    und schau nach, ob das Ergebnis deinen Erwartungen entspricht..
    Gruß
    ytwinky

    (Ich) benutze stets die aktuelle (Beta) und SciTE..

  • vll so:

    script
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 405, 150, 580, 322)
    $Button1 = GUICtrlCreateButton("Button1", 72, 24, 233, 81)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    close()
    EndSwitch
    WEnd

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

    Func close()
    Local $aPos = WinGetPos($Form1)
    Local $Form2 = GUICreate("Hello", 153, 77 , $aPos[0]-175, $aPos[1])
    Local $Label1 = GUICtrlCreateLabel("Hello", 32, 8, 100, 56)
    GUICtrlSetFont(-1, 35, 400, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    EndFunc

    [/autoit]
  • Nein, das hier ist der Code:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 405, 150, 580, 322)
    $Button1 = GUICtrlCreateButton("Button1", 72, 24, 233, 81)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    $c = 580
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    close()
    EndSwitch
    WEnd

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

    Func close()
    $c += 10
    $Form2 = GUICreate("Hello", 153, 77 & $c & 91)
    $Label1 = GUICtrlCreateLabel("Hello", 32, 8, 100, 56)
    GUICtrlSetFont(-1, 35, 400, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    EndFunc

    [/autoit]

    und 153, 77 & $c & 91 wird als 77c91 erkannt. Ich brauche es aber so: 153, 77, c, 91 damit die Form an der richtigen Stelle erstellt wird.

  • Hi, hier mal eine andere Möglichkeit. ;)
    Schöne Feiertage !

    [autoit]


    Opt("GUIOnEventMode", 1)
    Global $c = 580
    #region ### START Main GUI section ###
    $hGUI = GUICreate("Haupt-Fenster", 405, 150, $c, 322)
    GUISetOnEvent(-3, "CLOSEClicked")
    $Button = GUICtrlCreateButton("Button", 72, 24, 233, 81)
    GUICtrlSetOnEvent(-1, "OKButton")
    GUISetState(@SW_SHOW, $hGUI)
    #endregion ### START Main GUI section ###

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

    #region ### START Dialog GUI section ###
    $hGuiDlg = GUICreate("Dialog-Fenster", 200, 77, $c + 10, 91)
    GUISetOnEvent(-3, "CLOSEClicked")
    $Label1 = GUICtrlCreateLabel("Hello", 32, 8, 100, 56)
    GUICtrlSetFont(-1, 35, 400, 0, "MS Sans Serif")
    #endregion ### START Dialog GUI section ###

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

    While Sleep(1000)
    WEnd

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

    Func OKButton()
    GUISetState(@SW_SHOW, $hGuiDlg)
    EndFunc ;==>OKButton

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

    Func CLOSEClicked()
    Switch @GUI_WinHandle
    Case $hGUI
    Exit
    Case $hGuiDlg
    GUISetState(@SW_HIDE, $hGuiDlg)
    EndSwitch
    EndFunc ;==>CLOSEClicked
    ; Ende

    [/autoit]