FileSelectFolder & GUICtrlCreateCombo ?

  • In meinem Beispiel möchte ich dem Nutzer ein paar Voreinstellungen mitgeben. Aber auch die Möglichkeit selbst wählen zu können. Das klappt auch ganz gut. :thumbup:

    Mein Problem ist es, dass die Nutzerwahl hinten angehängt wird und zusätzliche Klicks sind nötig. Ich möchte aber die Nutzerwahl gleich übernehmen lassen, wie zB. bei "GUICtrlCreateInput" . Was mache ich falsch bzw. muss ich tun um es zu realisieren. ?(

    Spoiler anzeigen
    [autoit]


    ; by Ritzelrocker04

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

    #include <GUIConstantsEx.au3>

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

    #Region ### START GUI section ###
    $GUI = GUICreate(@ScriptName, 400, 300, -1, -1)

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

    $bnDest = GUICtrlCreateButton("&...", 12, 222, 75, 20, 0)

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

    $cobDest = GUICtrlCreateCombo("C:\$Backup$", 95, 222, 180, 20)

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

    GUICtrlSetData(-1,"D:\$Backup$|E:\$Backup$", "C:\$Backup$")

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

    $bnClose = GUICtrlCreateButton("&Beenden", 242, 265, 75, 25)

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

    GUISetState(@SW_SHOW)
    #EndRegion ### END GUI section ###

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

    While 1
    $msg = GUIGetMsg()

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

    Select
    Case $msg = $GUI_EVENT_CLOSE Or $msg = $bnClose
    Exit
    Case $msg = $bnDest
    $path = FileSelectFolder('Bitte ein Laufwerk oder Verzeichnis auswählen !', '')
    If not @error Then
    GUICtrlSetData($cobDest, $path)
    EndIf
    EndSelect
    Wend

    [/autoit]


    Schönes WE und Danke

  • Ah, ich verstehe. Du willst das schon beim Mouseover über "D:\" das "D:\" in der Combo angezeigt wird, richtig?

    Projekte: Keine größeren (und fertigen)
    Gegen Internetzensur:
    https://epetitionen.bundestag.de/index.php?acti…s;petition=3860
    (Zeichnungsfrist abgelaufen)
    __________________________________________________________________________________________________________________________________
    Dieser Beitrag wurde bereits 264 mal editiert, zuletzt von »Fast2« (30. Februar 2009, 12:99)

  • Hi,

    ist ganz einfach, Du mußt den Pfad nicht nur anhängen, sondern auch als neuen Defaultwert setzten:

    [autoit]


    GUICtrlSetData($cobDest, $path, $path)

    [/autoit]

    Oder, wenn Du wirklich die Reihenfolge der Einträge ändern willst, die Combobox neu initialisieren:

    Spoiler anzeigen
    [autoit]

    ; by Ritzelrocker04

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

    #include <GUIConstantsEx.au3>

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

    #Region ### START GUI section ###
    $GUI = GUICreate(@ScriptName, 400, 300, -1, -1)

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

    $bnDest = GUICtrlCreateButton("&...", 12, 222, 75, 20, 0)

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

    $cobDest = GUICtrlCreateCombo("C:\$Backup$", 95, 222, 180, 20)

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

    GUICtrlSetData(-1,"D:\$Backup$|E:\$Backup$", "C:\$Backup$")
    $DefaultEntries="C:\$Backup$|D:\$Backup$|E:\$Backup$"

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

    $bnClose = GUICtrlCreateButton("&Beenden", 242, 265, 75, 25)

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

    GUISetState(@SW_SHOW)
    #EndRegion ### END GUI section ###

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

    While 1
    $msg = GUIGetMsg()

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

    Select
    Case $msg = $GUI_EVENT_CLOSE Or $msg = $bnClose
    Exit
    Case $msg = $bnDest
    $path = FileSelectFolder('Bitte ein Laufwerk oder Verzeichnis auswählen !', '')
    If not @error Then
    GUICtrlSetData($cobDest, "")
    GUICtrlSetData($cobDest, $path & "|" & $DefaultEntries, $path)
    EndIf
    EndSelect
    Wend

    [/autoit]


    So, und jetzt geh ich den Keller aufräumen ;)

    TrueMu