Treeview Pluszeichen bei Unterpunkten anzeigen

  • Hallo,

    ich lese aus einer sqlite mehrere Werte aus und erzeuge durch diese Treeviewpunkte mit Unterpunkte. Problem ist nun allerdings das nicht direkt bei einem Treeviewpunkt der Unterpunkte hat das Pluszeichen angezeigt wird. Erst wenn man einmal auf diesen Treeviewpunkt geklickt hat erscheint das Pluszeichen und man kann die Gruppe öffnen. Gibt es eine Einstellung die dafür sorgt, dass das Pluszeichen gleich angezeigt wird?

    Hier der Code:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiTreeView.au3>
    #include <StaticConstants.au3>
    #include <TreeViewConstants.au3>
    #include <WindowsConstants.au3>
    #include <SQLite.au3>
    #include <SQLite.dll.au3>

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

    Func _dbopen()
    Local $sSQliteDll
    $sSQliteDll = _SQLite_Startup ()
    If @error > 0 Then
    MsgBox(16, "SQLite Fehler", "SQLite.dll konnte nicht geladen werden!")
    Exit - 1
    EndIf
    ConsoleWrite("_SQLite_LibVersion=" &_SQLite_LibVersion() & @CR)

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

    _SQLite_Open(@ScriptDir & '\datenbank.db')
    EndFunc

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

    Func _dbclose()
    _SQLite_Close()
    _SQLite_Shutdown ()
    EndFunc

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

    #Region ### START Koda GUI section ### Form=
    $Form = GUICreate("Form", 985, 889, 167, 53)
    $RechnerTreeView = GUICtrlCreateTreeView(8, 8, 353, 873)
    GUICtrlSetResizing(-1, $GUI_DOCKTOP+$GUI_DOCKBOTTOM)
    $Rechnername = GUICtrlCreateLabel("Rechnername", 376, 16, 116, 24)
    GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
    $Gruppe = GUICtrlCreateCombo("Gruppe", 376, 48, 145, 25)
    $Gruppeaendern = GUICtrlCreateButton("ändern", 528, 47, 75, 25, 0)
    $Programme = GUICtrlCreateGroup("Programme", 376, 96, 425, 777, $WS_VSCROLL)
    GUICtrlSetResizing(-1, $GUI_DOCKBOTTOM)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    _dbopen()
    Local $poolQuery, $poolZeile = ""
    _SQLite_Query(-1,"SELECT pool FROM Rechner WHERE id > 0 GROUP BY pool" ,$poolQuery)
    While _SQLite_FetchData($poolQuery, $poolZeile) = $SqlITE_OK

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

    For $poolelement In $poolZeile
    $topitem = _GUICtrlTreeView_Add($RechnerTreeView, 0, $poolelement)

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

    Local $rechnerQuery, $rechnerZeile = ""
    _SQLite_Query(-1,"SELECT name FROM Rechner WHERE pool = '" & $poolelement & "'" ,$rechnerQuery)
    While _SQLite_FetchData($rechnerQuery, $rechnerZeile) = $SqlITE_OK

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

    For $rechnerelement In $rechnerZeile

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

    _GUICtrlTreeView_AddChild($RechnerTreeView, $topitem, $rechnerelement)
    Next
    WEnd
    Next
    WEnd
    _dbclose()

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

    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.

  • Hallo chip,

    schau dir mal die Stile und auch die erweiterten Stile für TV an, Ich lege meine TVs immer so an und das + Zeichen zum erweitern ist sofort da:

    [autoit]

    $htreevwMain = GUICtrlCreateTreeView(452,120, 345, 345, BitOR($GUI_SS_DEFAULT_TREEVIEW,$TVS_CHECKBOXES),$WS_EX_CLIENTEDGE)

    [/autoit]

    mfg (Auto)Bert

  • Also mit hinzufügen von $WS_EX_CLIENTEDGE hat es nun funktioniert. Allerdings verstehe ich nicht warum das Auswirkungen auf das Pluszeichen hat. Laut Hilf ist $WS_EX_CLIENTEDGE ja: "Legt fest, dass ein Fenster einen Rahmen mit abgesenkter Kante hat."

    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.