ArrayDelete Problem

  • Hallo,

    ich probiere schon seit einiger Zeit diese Controls zu löschen.

    Ausschnitt Beispielcode:
    So wurden die Controls erstellt

    Spoiler anzeigen
    [autoit]


    For $i = 0 To UBound($arControl) - 1
    $arControl[$i][0] = GUICtrlCreateCheckbox('', $Links + Int($i / $Zeilen) * $Abstand, $Oben + Mod($i, $Zeilen) * $Zwischen, 13, 13)
    $arControl[$i][1] = GUICtrlCreateLabel($var[$i][1], $Links + 20 + Int($i / $Zeilen) * $Abstand, $Oben + Mod($i, $Zeilen) * $Zwischen,110, 20)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetFont(-1, 12, 500, 0, "Arial")
    GUICtrlSetOnEvent(-1, "_CheckboxSelect")
    $arProgress[$i] = GUICtrlCreateProgress($Links + 140 + Int($i / $Zeilen) * $Abstand, $Oben + Mod($i, $Zeilen) * $Zwischen, 70, 14)
    Next

    [/autoit]

    Frage:
    Wie kann die das ganze nochmal per Loop genau so entfernen?
    bin mit _ArrayDelete nicht weitergekommen!


    Gibt es da noch einen anderen Befehl?

    Grüße
    Ilse ;)

  • Was soll dir _arrayDelete auch nutzen? Damit löscht du nur die IDs der Controls und kannst dementsprechend auch nicht mehr darauf zugreifen. Controls kann man mit GUICtrlDelete ( controlID ) löschen, aber wie sinnvoll das ist sei mal dahingestellt. Statt diese zu löschen und neu zu erstellen kannst du sie genausogut auch mit guictrlsetstate unsichtbar bzw sichtbar machen. Ggf. ist es auch sinnvoller die ganze GUI zu löschen und neu zu erstellen anstatt jedes Control einzeln.

  • Hallo,
    und merci erstmal!
    konnte mich jetzt leider erst wieder melden.
    Mußte nochmal los...

    Folgende Frage noch an Misterspeed:

    Zitat


    ...sinnvoller die ganze GUI zu löschen und neu zu erstellen


    hm..wie mache ich das am besten?
    Beispiel:
    GUIDelete("MeineGui") löscht die kpl. Gui! Dann ist alles weg! Alle Controls...
    Muß ich die ganze GUI in eine Funktion packen?

    Mal wieder Neuland...

    Liebe Grüße
    Ilse ;)

  • Er meint damit, dass es effizienter ist, da du, wie es den Anschein macht, sehr viele Controls löschen willst, einfach die Gui zu löschen und die übrigen Controls neu zu erstellen. (<-- Was fürn Satz Ôo) Natürlich wäre da eine Funktion zur Erstellung der GUI sinnvoll.
    Dennoch ist es (Meiner Ansicht nach) besser, mit GuiCtrlSetState() zu arbeiten.

    MfG,
    Fresapore