[Module] TreeEx Gadget (all OS)

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
Thorsten1867
Beiträge: 1359
Registriert: 04.02.2005 15:40
Computerausstattung: [Windows 10 x64] [PB V5.7x]
Wohnort: Kaufbeuren
Kontaktdaten:

[Module] TreeEx Gadget (all OS)

Beitrag von Thorsten1867 »

TreeEx Gadget - Module (all OS / DPI / 64Bit)

TreeGadget mit zusätzlichen Spalten

Bild

Code: Alles auswählen

; TreeEx::AddColumn()           - similar to 'AddGadgetColumn()'
; TreeEx::AddItem()             - similar to 'AddGadgetItem()'
; TreeEx::ClearItems()          - similar to 'ClearGadgetItems()'
; TreeEx::CountItems()          - similar to 'CountGadgetItems()'
; TreeEx::DisableReDraw()       - disable redraw
; TreeEx::Gadget()              - similar to 'TreeGadget()'
; TreeEx::GetItemColor()        - similar to 'GetGadgetItemColor()'
; TreeEx::GetItemData()         - similar to 'GetGadgetItemData()'
; TreeEx::GetItemState()        - similar to 'GetGadgetItemState()'
; TreeEx::GetItemText()         - similar to 'GetGadgetItemText()'
; TreeEx::GetLabelState()       - similar to 'GetGadgetItemState()', but label instead of column
; TreeEx::GetLabelText()        - similar to 'GetGadgetItemText()',  but label instead of column
; TreeEx::GetState()            - similar to 'GetGadgetState()'
; TreeEx::Hide()                - similar to 'HideGadget()'
; TreeEx::RemoveItem()          - similar to 'RemoveGadgetItem()'
; TreeEx::SaveColorTheme()      - save a custom color theme
; TreeEx::SetAutoResizeColumn() - column that is reduced when the vertical scrollbar is displayed.
; TreeEx::SetAutoResizeFlags()  - [#MoveX|#MoveY|#Width|#Height]
; TreeEx::SetColor()            - similar to 'SetGadgetColor()'
; TreeEx::SetColorTheme()       - set or load a color theme
; TreeEx::SetFont()             - similar to 'SetGadgetFont()'
; TreeEx::SetHeaderAttribute()  - set header attribute (e.g. align)
; TreeEx::SetHeaderFont()       - set header font
; TreeEx::SetItemColor()        - similar to 'SetGadgetItemColor()'
; TreeEx::SetItemData()         - similar to 'SetGadgetItemData()'
; TreeEx::SetItemImage()        - similar to 'SetGadgetItemImage()'
; TreeEx::SetItemState()        - similar to 'SetGadgetItemState()'
; TreeEx::SetItemText()         - similar to 'SetGadgetItemText()'
; TreeEx::SetLabelState()       - similar to 'SetGadgetItemState()', but label instead of column
; TreeEx::SetLabelText()        - similar to 'SetGadgetItemText()',  but label instead of column
; TreeEx::SetState()            - similar to 'SetGadgetState()'
Download: TreeExModule.pbi
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
Benutzeravatar
Bisonte
Beiträge: 2430
Registriert: 01.04.2007 20:18

Re: [Module] TreeEx Gadget (all OS)

Beitrag von Bisonte »

Erstmal ein grosses Dankeschön für all die ganzen Gadgets die du hier bereitstellst !!

Zu diesem hier hab ich auch gleich einen "Korrektur" - Wunsch.

Ich hab gesucht, aber im Source die Stelle nicht finden können...
Wenn man einen kleineren Font benutzt, der also in der Höhe kleiner ist als eine Checkbox (anderes noch nicht gesehen),
dann wird der nachfolgende Text in der Zeile NICHT Vertikal zentriert. Genauso wenn man keine Checkbox benutzt,
dann ist der "-" der vor einem Text steht beinahe schon auf dem "-" (das Symbol zum auf und zuklappen)

Bild

Oder übersehe ich da eine Option/Flag ?

Wenn nicht, wäre eine vertikale Zentrierung von Text innerhalb einer Zeile wünschenswert ;)
PureBasic 6.10 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Benutzeravatar
Thorsten1867
Beiträge: 1359
Registriert: 04.02.2005 15:40
Computerausstattung: [Windows 10 x64] [PB V5.7x]
Wohnort: Kaufbeuren
Kontaktdaten:

Re: [Module] TreeEx Gadget (all OS)

Beitrag von Thorsten1867 »

Fixed
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
Benutzeravatar
Bisonte
Beiträge: 2430
Registriert: 01.04.2007 20:18

Re: [Module] TreeEx Gadget (all OS)

Beitrag von Bisonte »

Danke... ich hab da glatt noch mehr entdeckt...

1. Kann man irgendwie die 1. Spalte in der Breite fixieren ?
Sie scheint sich anfangs an der Gadgetbreite zu orientieren, allerdings, wenn man einzelne Posten
aufklappt, kommt automatisch bei "breiteren" Einträgen der horizontale Scrollbalken.

2. Nachdem man Einträge aufgeklappt hat, die breiter waren (also den Scrollbalken erscheinen liessen) und diese
wieder zuklappt verschieben sich ALLE folgenden Spalten, weil die erste Spalte sich an der noch vorhandenen
Textbreite des Eintrags ausrichtet. D.h. es kommt auf der rechten Seite zu einem Freiraum.

Start:
Bild
Ausklappen:
Bild
Wieder einklappen:
Bild

3. Wozu ist der Parameter "Label" gedacht, der bei einigen Funktionen auftaucht ?

4. Wie bekommt man in einer bestimmten Spalte ein Image hinein... ? Ich versuchte es auf die gleiche Weise wie bei einem
ListIcon, was nicht funktionierte...
Ich habe extra einen Variable zum zählen der Reihe in einer ForEach : Next Schleife mitlaufen lassen, was aber am Ende nichts
brachte.

Edit : Bilder eingefügt
PureBasic 6.10 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Benutzeravatar
Thorsten1867
Beiträge: 1359
Registriert: 04.02.2005 15:40
Computerausstattung: [Windows 10 x64] [PB V5.7x]
Wohnort: Kaufbeuren
Kontaktdaten:

Re: [Module] TreeEx Gadget (all OS)

Beitrag von Thorsten1867 »

Bisonte hat geschrieben:1. Kann man irgendwie die 1. Spalte in der Breite fixieren ?
#FitTreeColumn
Bisonte hat geschrieben:3. Wozu ist der Parameter "Label" gedacht, der bei einigen Funktionen auftaucht ?
Man kann mit AddColumn() der Spalte einen Label (=Namen) verpassen und diesen dann anstatt der Spaltennummer verwenden.
Bisonte hat geschrieben:4. Wie bekommt man in einer bestimmten Spalte ein Image hinein... ? Ich versuchte es auf die gleiche Weise wie bei einem ListIcon, was nicht funktionierte...
1. Das #Image - Flag für die Spalte setzen.

Code: Alles auswählen

TreeEx::AddColumn(#TreeEx, 1, 24, "", "image",    TreeEx::#Image)
2. Images für diese Spalte (1) festlegen:

Code: Alles auswählen

TreeEx::SetItemImage(#TreeEx, 5, #Image, TreeEx::#Center, 1)
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
Antworten