GUI nachträglich Größe ändern

  • Hi,

    mit GUICreate erstellt man ja eine GUI und kann dort dann auch die Größe angeben. Kann man diese Größe auch nachträglich noch ändern?

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Mag sein das ich ihn da falsch verstanden habe, ist schon spät.

    Bin davon ausgegangen das er die Grösse während der Bearbeitung nochmal ändern will.
    Im Nachhinein macht' irgendwie keinen Sinn mehr ;(


    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    Opt("GUIOnEventMode", 1)
    $Form2 = GUICreate("Form2", 117, 56, 477, 218)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_close")
    $Button1 = GUICtrlCreateButton("Button1", 24, 16, 75, 25, $WS_GROUP)
    GUICtrlSetOnEvent($Button1, "_resize")
    GUISetState(@SW_SHOW)

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

    While 1
    Sleep(100)
    WEnd

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

    Func _resize()
    WinMove("Form2", "", 477, 218, 400, 400)
    EndFunc

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

    Func _close()
    Exit
    EndFunc

    [/autoit]
  • Danke werde ich mal testen. Der Grund warum ich die GUI nachträglich in der Größe änder will ist der, dass ich da Bilder und Text reinladen lasse der unterschiedlich groß ist und ich dementsprechen die GUI anpassen muss.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Hallo zusammen,
    ist schon ein alter Beitrag aber ich dachte, mach ich einen Neuen geht das Schimpfen wieder los. Also hier ein Versuch.

    Die Grösse ändern geht mit WinMove ja proma. Aber es ändern sich dadurch auch die Positionen der enthaltenen Conrols. Kann man das irgendwie abstellen?

    Gruß Hel.

  • Gehen wir mal von dem Oberen Script aus ^^

    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    Opt("GUIOnEventMode", 1)
    $Form2 = GUICreate("Form2", 117, 56, 477, 218)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_close")
    $Button1 = GUICtrlCreateButton("Button1", 24, 16, 75, 25, $WS_GROUP)
    GUICtrlSetOnEvent($Button1, "_resize")
    GUISetState(@SW_SHOW)

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

    While 1
    Sleep(100)
    WEnd

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

    Func _resize()
    WinMove("Form2", "", 477, 218, 400, 400)
    EndFunc

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

    Func _close()
    Exit
    EndFunc

    [/autoit]


    Nun fügen wir folgendem befehl ein:

    Code
    GUICtrlSetResizing ( controlID, resizing )

    Im Script sieht das so aus:

    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    Opt("GUIOnEventMode", 1)
    $Form2 = GUICreate("Form2", 117, 56, 477, 218)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_close")
    $Button1 = GUICtrlCreateButton("Button1", 24, 16, 75, 25, $WS_GROUP)
    GUICtrlSetOnEvent($Button1, "_resize")
    GUISetState(@SW_SHOW)

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

    GUICtrlSetResizing($Button1, 802) ; Hier :D Das einfügen ;)

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

    While 1
    Sleep(100)
    WEnd

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

    Func _resize()
    WinMove("Form2", "", 477, 218, 400, 400)
    EndFunc

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

    Func _close()
    Exit
    EndFunc

    [/autoit]

    Weiter informationen gibt es in der Hilfe dazu ;)

    Edit: Wenn du nicht alles einzelnd setzen willst, so sieh dir mal das an:

    Code
    AutoItSetOption ( "GUIResizeMode" [, param] )
    oder auch: Opt ( "GUIResizeMode" [, param] )
  • Hallo helmut99,

    du kannst mit

    [autoit]

    GUICtrlSetResizing

    [/autoit]

    für einzelne Controls bestimmen wie diese sich bei einer Grössenänderung verhalten sollen.

    Rdit; mann sollte ab und zu den Browser aktualisieren,

    mfg autoBert

  • Herzlichen Dank für Deine Hilfe. Hat auf Anhieb funktioniert. Bzgl. deinem Tip mit der Hilfe: Sicher hast du recht aber ich stehe ganz am Anfang und weiss machmal garnicht nach was ich zuchen soll. Werd mir beim nächsten mal mehr Mühe geben.