ComboBox, immer letzten Eintrag zeigen

  • Hallo, eine scheinbar ganz einfache Frage an die Experten:

    wie kann man einer ComboBox beibringen, immer den zuletzt eingegebenen Eintrag sozusagen als erste Auswahl anzuzeigen?
    Die Reihenfolge der gemachten Einträge sollte beibehalten werden.

    Ganz einfach?

  • wie meinst du das? also wenn du dein skript/progemann beendest soll beim nächsten aufruf das drinne stehen, was du als letztes reingeschrieben hast?

    Das finden von Rechtschreibfehlern muss sofort und unverzüglich dem Autor gemeldet werden. Das eigennützige Verwenden dieser Rechtschreibfehler ist strengstens untersagt und kann mit Freiheitsenzug bestraft werden.

  • Wenn ja, schau dir mal das an:

    [autoit]


    IniWrite()
    IniRead()

    [/autoit]

    klau mir doch nicht meine Antworten ^^ :P

    Das finden von Rechtschreibfehlern muss sofort und unverzüglich dem Autor gemeldet werden. Das eigennützige Verwenden dieser Rechtschreibfehler ist strengstens untersagt und kann mit Freiheitsenzug bestraft werden.

  • @ Darter

    nein, ich meine beim normalen Gebrauch, ich gebe über ein Script laufend Daten in die Combobox ein, und möchte, dass die zuletzt eingegebenen sichtbar sind.

  • Sowas in der art:

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    Global $Anzahl = 0

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

    #Region ### START Koda GUI section ### Form=
    Global $Form1 = GUICreate("Form1", 625, 445, 192, 124)
    Global $Input1 = GUICtrlCreateInput("", 88, 16, 353, 21)
    Global $Button1 = GUICtrlCreateButton("Button1", 480, 16, 105, 25, $WS_GROUP)
    Global $Combo1 = GUICtrlCreateCombo("", 80, 72, 369, 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
    $Read = GUICtrlRead($Input1)
    GUICtrlSetData($Combo1, $Read)
    GUICtrlSetData($Input1, "")
    EndSwitch
    WEnd

    [/autoit]
  • Also nochmal von vorne, ich wurde nicht richtig verstenden.

    Ich habe eine GUI mit einem GUICtrlCreateInput und einem GUICtrlCreateCombo. In Input gebe ich per hand Daten ein und speichere diese ab, per Script. Gleichzeitig, schicke ich die Daten auch in eine Combo. Damit ich bei einer Wiederholung die gleichen Daten nicht wieder eintippen muss, hole ich die aus der Combo. Das funktioniert prima. Nur zeigt meine Combo immer die zuletzt geholten Daten an, ich hätte aber gerne, dass die Combo immer wenn ein neuer Satz hinzukam, diesen letzen Datensatz anzeigt, weil der am häufigsten gebraucht wird.

  • @ AutoBert

    Vielen Dank,

    GUICtrlSetData($combo,$data,$data) funktioniert genau wie ich mir das gewünscht habe. Ich habe immer an den Styles von GUICtrlCreateCombo herumprobiert, zu blöd!!!

  • clezZ,

    du benutzt in deinem Skript zwar GuiCtrlSetData, aber ohne den Default-Parameter. Hättest du anstelle von

    [autoit]

    Case $Button1
    $Read = GUICtrlRead($Input1)
    GUICtrlSetData($Combo1, $Read)
    GUICtrlSetData($Input1, "")

    [/autoit]

    dies

    [autoit]

    Case $Button1
    $Read = GUICtrlRead($Input1)
    GUICtrlSetData($Combo1, $Read, $Read)
    GUICtrlSetData($Input1, "")

    [/autoit]

    geschrieben hätte es funktioniert

    mfg (Auto)Bert