Skalierende Message Box

  • Aktuell:


    Funktioniert, ist aber nicht ganz richtig oder?

    Code
    Case $Btn_Start To $Btn_End
                    local $Return = GUICtrlRead($Msg)
                    Return SetExtended($Msg-4, $Return)
  • Lass doch mal dieses Dim xxx weg. Das macht keinen Sinn. Du hast mit StringSplit ein Array erstellt. Das solltest du durchgehen.

    Es würde sich meiner Meinung nach darin erschöpfen:

    AutoIt
    For $i = 1 To $aIndex[0]
        If $Msg = $aIndex[$i] Then Return SetExtended($Msg, GUICtrlRead($Msg)
    Next

    Grüße autoiter

  • Lass doch mal dieses Dim xxx weg. Das macht keinen Sinn. Du hast mit StringSplit ein Array erstellt. Das solltest du durchgehen.

    Es würde sich meiner Meinung nach darin erschöpfen:

    AutoIt
    For $i = 1 To $aIndex[0]
        If $Msg = $aIndex[$i] Then Return SetExtended($Msg, GUICtrlRead($Msg)
    Next

    Ich musste aber deinen code leicht ändern um bei Button 1 auch 1 zurück zu bekommen ..?

    Code
    local $aIndex = StringSplit($Buttons, ",")
                    For $i = 1 To $aIndex[0]
                        If $Msg = $aIndex[$i] Then Return SetExtended($Msg-4, GUICtrlRead($Msg))
                    Next

    Wo ist der Unterschied zu ?

    Also wozu der Index?

    Code
    Return SetExtended($Msg-4, GUICtrlRead($Msg))



    Brauch ich hier auch kein Dim? Wenn ja wieso ?

    Code
    local $aButtons = StringSplit($Buttons, ",")
        Dim $Button_[($aButtons[0] + 1)]
    
        Local $GUI_Width_Math = $Edge_Space
    
        For $i = 1 To $aButtons[0]
            $Button_[$i] = $GUI_Width_Math+$Button_Width+$Button_Seperator
            $GUI_Width_Math = $Button_[$i]
        Next
  • Also wozu der Index?

    Der Index war nur ein Vorschlag als plausible Rückmeldung. Du hast doch geschrieben, dass du unzufrieden seist, nur den Button-Text zurück zu liefern..

    Brauch ich hier auch kein Dim? Wenn ja wieso ?

    Kannst du vorher mal erklären, warum du glaubst das an der Stelle zu brauchen und was da geschieht?

    (Das soll eigentlich nur als Anstoß gelten, das noch einmal selbst zu durchdenken und ist keine Wissensabfrage. Wenn du Probleme hast, kannst du dich gerne melden).

    Grüße autoiter

  • Der Index war nur ein Vorschlag als plausible Rückmeldung. Du hast doch geschrieben, dass du unzufrieden seist, nur den Button-Text zurück zu liefern..

    Kannst du vorher mal erklären, warum du glaubst das an der Stelle zu brauchen und was da geschieht?

    (Das soll eigentlich nur als Anstoß gelten, das noch einmal selbst zu durchdenken und ist keine Wissensabfrage. Wenn du Probleme hast, kannst du dich gerne melden).

    EIgtl wollte ich ein array erstellen (dachte ich).

    Das ich wieder (Als Beispiel)

    Code
    $iIndex_1 = _ArraySearch($aArray_1, $iMsg) 


    Und das ich den array vorher:

    Code
    Local $iIndex_1, $aArray_1 = [[$Button_4, "1020x470x470"]....

    mit einer FOR schleife erstelle.

    Ich bin mit:

    Code
    Return SetExtended($Msg-4, GUICtrlRead($Msg))

    schon ganz zufrieden, mit $MSg-4 habe ich immer den richtigen Button (hoffe ich) und kann auch noch den Button selber ausgeben.

    Code
    local $aButtons = StringSplit($Buttons, ",")
        Dim $Button_[($aButtons[0] + 1)]
        Local $GUI_Width_Math = $Edge_Space
        For $i = 1 To $aButtons[0]
            $Button_[$i] = $GUI_Width_Math+$Button_Width+$Button_Seperator
            $GUI_Width_Math = $Button_[$i]
        Next

    Ich denke ich brauche hier Dim um die variablen zu erstellen ?

  • Nur mal so zur info, man braucht kein DIM :D

    War es so gemeint? autoiter


    Edit: 22:35

    Einmal editiert, zuletzt von xTcisloVe (8. Juli 2018 um 22:35)

  • AutoIt
    Case $Btn_Start To $Btn_End
            Return $Msg - $Btn_Start + 1


    Das gibt mir aber nicht den richtigen Code zurück. Das macht es nur wenn ich + 1 weg lasse.

    Code
    Case $First_Button To $Last_Button
                    For $i = 1 To $Button_[0]
                        $x = GUICtrlRead($Msg)
                        if $Button_[$i] = $x Then ExitLoop
                    Next
                        GUIDelete($hGUI)
                        Return SetExtended($i, $x)

    Was ist genauer?

    Code
    Return SetExtended($Msg - $First_Button, GUICtrlRead($Msg))