_GUICtrlListView erhält nicht den Focus

  • Hallo zusammen,

    ich möchte aus einen Input (beim Drücken der Taste DOWN) den Focus an eine Listview übergeben nur wird der Focus nicht an das Listview übergeben.

    Hat einer eine Idee wo ich einen Denkfehler habe.

    Über Google und hier im Forum habe ich keinen Lösungsansatz gefunden.

    hier mein Code.


    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>

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

    HotKeySet ("{DOWN}","key_down")

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

    $gui = GUICreate("Browser",@DesktopWidth/2,@DesktopHeight/2,0,0,-1)

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

    $local_input_work_directory = GUICtrlCreateInput("",5,5,(@DesktopWidth/2)-10,-1)

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

    $local_input_scan_directory = _GUICtrlListView_Create($gui,"",5,26,(@DesktopWidth/2)-10,250,BitOr($LVS_REPORT, $LVS_SINGLESEL, $LVS_SHOWSELALWAYS,$LVS_NOCOLUMNHEADER),BitOR( $LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES, $LVS_EX_DOUBLEBUFFER, $LVS_EX_TRACKSELECT))
    _GUICtrlListView_AddColumn($local_input_scan_directory,"",(@DesktopWidth/2)-10)
    _GUICtrlListView_AddItem($local_input_scan_directory,"TEST-1")
    _GUICtrlListView_AddItem($local_input_scan_directory,"TEST-2")
    _GUICtrlListView_AddItem($local_input_scan_directory,"TEST-3")
    GUISetState(@SW_SHOW,$gui)
    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    GUIDelete($gui)
    Exit
    EndSwitch
    WEnd

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

    Func key_down()
    GUICtrlSetState($local_input_scan_directory,$GUI_FOCUS) ; -> geht nicht
    _GUICtrlListView_SetItemFocused($local_input_scan_directory,0) ; -> geht nicht
    _GUICtrlListView_SetItemSelected($local_input_scan_directory,0) ; -> geht
    MsgBox(64,"","TEST")
    EndFunc

    [/autoit]
  • Formatiere erst einmal dein Skript richtig, das erhöht die Chance auf Hilfe ungemein. Am besten bleibst du während eines Beitrags erstellen in der Editoransicht.

    mfg autoBert

    • Offizieller Beitrag
    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>

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

    HotKeySet ("{DOWN}","key_down")

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

    $gui = GUICreate("Browser",@DesktopWidth/2,@DesktopHeight/2,0,0,-1)

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

    $local_input_work_directory = GUICtrlCreateInput("",5,5,(@DesktopWidth/2)-10,-1)

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

    $local_input_scan_directory = _GUICtrlListView_Create($gui,"",5,26,(@DesktopWidth/2)-10,250,BitOr($LVS_REPORT, $LVS_SINGLESEL, $LVS_SHOWSELALWAYS,$LVS_NOCOLUMNHEADER),BitOR( $LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES, $LVS_EX_DOUBLEBUFFER, $LVS_EX_TRACKSELECT))
    _GUICtrlListView_AddColumn($local_input_scan_directory,"",(@DesktopWidth/2)-10)
    _GUICtrlListView_AddItem($local_input_scan_directory,"TEST-1")
    _GUICtrlListView_AddItem($local_input_scan_directory,"TEST-2")
    _GUICtrlListView_AddItem($local_input_scan_directory,"TEST-3")
    GUISetState(@SW_SHOW,$gui)
    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    GUIDelete($gui)
    Exit
    EndSwitch
    WEnd

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

    Func key_down()
    _GUICtrlListView_SetItemSelected($local_input_scan_directory,0)
    ControlFocus($Gui,"","SysListView321")
    MsgBox(64,"","TEST")
    EndFunc

    [/autoit]