Controls leeren klappt nicht

  • SWT_Window0

    Hi,

    ich habe gerade voll den Hänger

    Habe mir ein GUI gebaut, welche einen Sharepointserver mit einer Abfrage bestückt.
    [Blockierte Grafik: http://www.hasenmueller.de/files4forum/Bild-006-2013-03-08.jpg]
    Wenn ich hier verschiedene Kriterien auswähle und auf SUCHEN klicke, dann wird mir das Ergebnis angezeigt.
    Nun wollte ich eine LÖSCHEN Schaltfläche dazu bauen, welche mir die Häkchen in den Checkboxen, die Auswahl der Radiobuttons und Comboboxen, sowie den Text in den Inputfelden löscht.
    Die Funktion hierzu ist

    Spoiler anzeigen
    [autoit]

    Func _Delete()
    GUICtrlSetData($GUI_input_suchbegriff, "")
    GUICtrlSetData($GUI_Checkbox_ARCHIV, "")
    GUICtrlSetData($GUI_Checkbox_GRAFIK, "")
    GUICtrlSetData($GUI_Checkbox_PDF, "")
    GUICtrlSetData($GUI_Checkbox_PPT, "")
    GUICtrlSetData($GUI_Checkbox_TXT, "")
    GUICtrlSetData($GUI_Checkbox_DOC, "")
    GUICtrlSetData($GUI_Checkbox_XLS, "")
    GUICtrlSetData($GUI_combo_author, "")
    GUICtrlSetData($GUI_combo_modified, "")
    GUICtrlSetData($GUI_combo_ort, "")
    GUICtrlSetData($radio1, "")
    GUICtrlSetData($radio2, "")
    GUICtrlSetData($radio3, "")
    EndFunc ;==>_Delete

    [/autoit]


    Wenn ich jedoch via LÖSCHEN Schaltfläche die Funktion abfeuere, sieht das dann so aus:
    [Blockierte Grafik: http://www.hasenmueller.de/files4forum/Bild-005-2013-03-08.jpg]
    Ich denke ich muss hier irgendwas mit $GUI_CHECKED ode r$GUI_UNCHECKED machen, aber wie gesagt, ich habe gerade voll den Hänger

    Danke für Eure Hilfe

    Einmal editiert, zuletzt von HassanMullah (8. März 2013 um 13:29) aus folgendem Grund: Passt alles, Vielen Dank!

  • Hi Make-Grafik,

    für die Checkboxen und die Radio's geht das ja wunderbar (oh wie ist das schöööööön),
    aber die Comboboxen sind jetzt komplett leer, d.h. wenn ich auf den Auswahlknopf gehe, sind keine Inhalte mehr vorhanden.
    Die Inputbox wird nicht gelöscht ... geht mit

    [autoit]

    GUICtrlSetData($GUI_input_suchbegriff, "")

    [/autoit]
  • Ja, in den Input Controls wird ja der Text eingegeben. Wie ich bereits sagte, verändert GUICtrlSetState() den Status und GUICtrlSetData() den Text. Dementsprechend brauchst du für die Input Controls die Funktion GUICtrlSetData().

    Ich werde mal eben bischen rumspielen. Dann kann ich dir ne Antwort auf deine Combobox Frage geben.

  • Okay, ich habe jetzt die Möglichkeit genommen, einfach die Item Liste in einer einzelnen Variable zu speichern und diese einfach neu zu setzen:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    Opt('GUIOnEventMode', 1)
    Opt('MustDeclareVars', 1)
    Opt('GUICloseOnESC', 0)

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

    Global $hGUI, $idCombo, $idButton
    Global $sItem = '|Item1|Item2|Item3'

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

    $hGUI = GUICreate('Make-Grafik', 120, 70)
    $idCombo = GUICtrlCreateCombo('', 10, 10, 100, 20)
    _Button()
    $idButton = GUICtrlCreateButton('Reset', 10, 40, 100, 20)
    GUICtrlSetOnEvent($idButton, '_Button')
    GUISetOnEvent($GUI_EVENT_CLOSE, '_GUI_EVENT_CLOSE')
    GUISetState()

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

    While Sleep(1000)
    WEnd

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

    Func _Button()
    GUICtrlSetData($idCombo, $sItem)
    EndFunc

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

    Func _GUI_EVENT_CLOSE()
    Exit
    EndFunc

    [/autoit]
  • Geht mit ControlCommand:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 615, 437, 192, 124)
    $Combo1 = GUICtrlCreateCombo("", 24, 8, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1, "item1|item2|item3")
    $Button1 = GUICtrlCreateButton("rest", 24, 56, 75, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    case $Button1
    ControlCommand ( "Form1", "", $Combo1,"SetCurrentSelection", -1)
    EndSwitch
    WEnd

    [/autoit]

    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.