TreeViewEx.au3 - zusätzliche Treeview Funktionen

  • Hier ein paar zusätzliche Funktionen für Treeviews:


    _GUICtrlTreeView_ExpandOneLevel
    (Hatte ich bereits mal gepostet, jetzt nochmal überarbeitet)
    - Ein/Ausklappen nur eines Levels unterhalb eines Item


    _GUICtrlTreeView_CheckBoxAsRadio
    - Alle Checkboxen in einem Treeview werden wie Radio-Ctrl behandelt
    - Es kann immer nur eine Checkbox aktiv sein. Wird eine andere Checkbox aktiviert, wird automatisch die zuletzt gecheckte deaktiviert.
    - Zeitgleich für verschiedene Treeview im Skript einsetzbar


    _GUICtrlTreeView_CheckBoxAsRadioInLevel
    - Checkboxen eines Levels in einem Treeview werden wie Radio-Ctrl behandelt
    - Es kann immer nur eine Checkbox eines Item-Levels aktiv sein. Wird eine andere Checkbox aktiviert, wird automatisch die zuletzt gecheckte deaktiviert.
    - Zeitgleich für verschiedene Treeview im Skript einsetzbar


    _GUICtrlTreeView_GetCheckedInSelectionLevel
    - Ermittelt alle Item-Handle mit aktivierter Checkbox im Level des aktuell selektierten Item
    - Optional kann zu den Item-Handle auch gleich der Text ermittelt werden.


    Die Funktionen zum Verwenden der Checkboxen als Radio müssen jeweils aufgerufen werden, wenn eine Aktion stattfindet, die eine Checkbox De/aktivieren könnte. Also bei Mausklick und Leertaste. Im Bsp. habe ich das auf den Mausklick beschränkt.
    Vereinzelt kann es Auftreten, dass bei schnellem Klicken hintereinander das De/aktivieren fehlschlägt. Mal sehen, ob sich das noch zu 100 % ausschließen läßt.


    Noch etwas zu den Radiofunktionen:
    Gerade umfangreiche Installationen oder Einstellungsoberflächen lassen sich damit wesentlich vereinfachen. Ein Treeview ist effektiver im Platzverbrauch als die Verwendung von Groups, Radios und Checkboxen auf einer GUI und bei vielen Elementen auch übersichtlicher.



  • Machmal Frage ich mich echt wie du auf die ganze Ideen kommst.


    :D
    Ergibt sich meist aus ganz konkreten Projekten. In diesem Fall ist es ein Backupprogramm, das ich für meine Firma schreibe. Bei allen existierenden Lösungen ist meist irgendwas zuviel oder zu wenig - also doch selbst machen. Hier habe ich die Laufwerksauswahl als Treeview und da brauchte ich zwingend eine Radio-Funktionalität um dann nur die Ordner und Dateien dieses Laufwerks zur Auswahl zu stellen.