$LVS_NOCOLUMNHEADER bei ListView löscht SubItems

  • Hi,

    erstmal vorab, ich nutze _GUICtrlListView_Create weil die die Vorrausetzung ist um _GUICtrlListView_SetBkImage zu nutzen. So und nun zu meinem Probelem.

    So funktioniert alles und die das MainItem "test1" sowie die SubItems "test2" und "test3" werden angezeigt:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    #region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 241, 330, 192, 124)
    $List1 = _GUICtrlListView_Create($Form1, "", 8, 8, 217, 305, -1, -1, True)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###
    _GUICtrlListView_InsertColumn($List1, 0, "Spalte 1", 70)
    _GUICtrlListView_InsertColumn($List1, 1, "Spalte 2", 70)
    _GUICtrlListView_InsertColumn($List1, 1, "Spalte 3", 70)

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

    $userlistindex = _GUICtrlListView_AddItem($List1, "test1")
    _GUICtrlListView_AddSubItem($List1, $userlistindex, "test2", 1)
    _GUICtrlListView_AddSubItem($List1, $userlistindex, "test3", 2)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]


    Wenn ich allerdings nun $LVS_NOCOLUMNHEADER einsetze um die Spaltenüberschriften zu entfernen werden nicht nur diese sondern auch die Subitems mit entfernt:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    #region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 241, 330, 192, 124)
    $List1 = _GUICtrlListView_Create($Form1, "", 8, 8, 217, 305, $LVS_NOCOLUMNHEADER, -1, True)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###
    _GUICtrlListView_InsertColumn($List1, 0, "Spalte 1", 70)
    _GUICtrlListView_InsertColumn($List1, 1, "Spalte 2", 70)
    _GUICtrlListView_InsertColumn($List1, 1, "Spalte 3", 70)

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

    $userlistindex = _GUICtrlListView_AddItem($List1, "test1")
    _GUICtrlListView_AddSubItem($List1, $userlistindex, "test2", 1)
    _GUICtrlListView_AddSubItem($List1, $userlistindex, "test3", 2)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    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.

    2 Mal editiert, zuletzt von chip (20. September 2011 um 08:52)

  • Hallo Chip,

    warum erstellst du die LV nicht mit der Standardfunktion und hols dir danach mit

    [autoit]

    GuiCtrlGetHandle

    [/autoit]

    das benötigte Handle um es dann weiter zu verwenden?

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    $Form1 = GUICreate("Form1", 241, 330, 192, 124)
    $LV = GUICtrlCreateListView("Spalte1|Spalte2|Spalte3", 8, 8, 217, 305,$LVS_NOCOLUMNHEADER)
    $List1 = GUICtrlGetHandle($lv)

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

    $userlistindex = _GUICtrlListView_AddItem($List1, "test1")
    _GUICtrlListView_AddSubItem($List1, $userlistindex, "test2", 1)
    _GUICtrlListView_AddSubItem($List1, $userlistindex, "test3", 2)
    _GUICtrlListView_SetBkColor ($List1,256)
    GUISetState(@SW_SHOW)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]

    mfg autoBert

    • Offizieller Beitrag

    chip, entweder benutzt du das Beispiel von Autobert oder du fügst deinem Beispiel den Style @LVS_REPORT hinzu.

    Spoiler anzeigen
    [autoit]

    #Region - Timestamp
    ; 2011-09-20 05:55:06
    #EndRegion

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

    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    #region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 241, 330, 192, 124)
    $List1 = _GUICtrlListView_Create($Form1, "", 8, 8, 217, 305, BitOR($LVS_REPORT,$LVS_NOCOLUMNHEADER), -1, True)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###
    _GUICtrlListView_InsertColumn($List1, 0, "Spalte 1", 70)
    _GUICtrlListView_InsertColumn($List1, 1, "Spalte 2", 70)
    _GUICtrlListView_InsertColumn($List1, 1, "Spalte 3", 70)

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

    $userlistindex = _GUICtrlListView_AddItem($List1, "test1")
    _GUICtrlListView_AddSubItem($List1, $userlistindex, "test2", 1)
    _GUICtrlListView_AddSubItem($List1, $userlistindex, "test3", 2)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]


    Beim Standardlistview ist $LVS_REPORT der erzwungene Standardstyle.

    PS: In der Hilfe zu _GUICtrlListView_Create kannst du dies nachlesen:

    Zitat

    $LVS_NOCOLUMNHEADER - Die Spaltenüberschriften werden in der Report Ansicht nicht dargestellt