• Hallo alle miteinander.
    Ausgehend von diesem Thread habe ich mal eine passende UDF dazu gescriptet.
    Mit ihm kann man also ganz einfach ein GUI ausdehnen bzw. einziehen.
    Unterstüzt werden 4 Modi, 1: Sanft ausdehnen 2: Hart ausdehnen 3: Sanft einziehen 4: Hart einziehen.

    Den Code gibts im Anhang als Download.
    Btw. ich habe erst am ende bemerkt, dass Modi 3 und 4 überflüßig sind :D
    Trotzdem viel spaß.

    Danke an GtaSpider, der die Vorlage gab, aber leider war es keine UDF ;)
    Seine Funktion ist Umfangreicher als meine, aber ich wollte die Funktion ja nicht 1 zu 1 kopieren :)

    MfG. PrideRage

  • Btw. ich habe erst am ende bemerkt, dass Modi 3 und 4 überflüßig sind :D

    :rofl:
    Aber trotzdem eine gute/praktische UDF ^^

    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

  • Schöne UDF. Ich habe mich mal getraut und hab sie ein bissl kürzer gemacht. Ganze 10 Zeilen.

    Spoiler anzeigen
    [autoit]

    #include-once
    ; Name...........: _GUI_Expand
    ; Beschreibung ...: Dehnt das GUI aus.
    ; Syntax.........: _GUI_Expand($hGui, $iSizeX, $iSizeY, $iMode)
    ; Parameter ....: $hGui - Das zu dehnende GUI
    ; $iSizeX - Endgröße auf der X Achse
    ; $iSizeY - Endgröße auf der Y Achse
    ; $iMode - Der Modus
    ; 1 - Sanft ausdehnen(Standart)
    ; 2 - Hart ausdehnen
    ; 3 - Sanft einziehen
    ; 4 - Hart einziehen
    ; Return .: Erfolg - Dehnt das GUI.
    ; Fehler - Falscher Modus: Setzt @error auf 1
    ; Ungültiges GUI: Setzt @error auf 2
    ; Autor ........: PrideRage <http://www.autoit.de | PrideRage>
    ; Idee .........; GtaSpider <http://www.autoit.de | GtaSpider>

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

    Func _GUI_Expand($hGui, $iSizeX, $iSizeY, $iMode = "")
    Local $OrigSize = WinGetClientSize($hGui)
    Local $OrigPos = WinGetPos($hGui)
    Local $i = $OrigSize[0]
    Local $ii = $OrigSize[1]

    If Not IsHWnd($hGui) Then Return SetError(2)
    If $iMode > 4 Then Return SetError(1)

    While $i > $iSizeX And $ii > $iSizeY
    WinMove($hGui, "", $OrigPos[0], $OrigPos[1], $i, $ii)
    Switch $iMode
    Case 1
    $i += Sin(Cos((Sqrt(2))))
    $ii += Sin(Cos((Sqrt(2))))
    Case 2
    $i += 3
    $ii += 3
    Case 3
    $i -= Sin(Cos((Sqrt(2))))
    $ii -= Sin(Cos((Sqrt(2))))
    Case 4
    $i -= 3
    $ii -= 3
    EndSwitch
    WEnd
    EndFunc

    [/autoit]
  • Wo sind denn in deinem Code @error's?

    Hatte noch was vergessen. Zeile 19 müsste so heißen:

    [autoit]

    Func _GUI_Expand(ByRef $hGui, $iSizeX, $iSizeY, $iMode = 1)

    [/autoit]


    Und Zeile 26 so:

    [autoit]

    If $iMode < 0 Or $iMode > 4 Then Return SetError(1)

    [/autoit]

    Einmal editiert, zuletzt von m-obi (10. Februar 2010 um 05:33)

  • Schöne UDF ;)


    Danke an GtaSpider, der die Vorlage gab, aber leider war es keine UDF ;)


    Doch, das ist schon eine UDF. UDF heißt User Defined Function, also Benutzerdefinierte Funktion und genau das ist _WinSetSize. Dazu gehört nicht unbedingt eine Beschreibung ;)