Seite 1 von 1
Spalten von ListIconGadget automatisch anpassen
Verfasst: 08.07.2010 11:12
von gekkonier
Hi!
Gibt es eine Möglichkeit die Spalten eines ListIconGadget nachdem man es mit Daten gefüllt hat automatisch von der Breite her dem Inhalt anzupassen?
Ich weiss, dass es die Möglichkeit gibt mit SetGadgetItemAttribute() und #PB_ListIcon_ColumnWidth die Möglichkeit das irgendwie manuell zu machen. Wäre hier der richtige Weg da anzusetzen?
Vielen Dank!
Re: Spalten von ListIconGadget automatisch anpassen
Verfasst: 08.07.2010 12:06
von Kiffi
Code: Alles auswählen
SendMessage_(GadgetID(#DeinListIconGadget), #LVM_SETCOLUMNWIDTH, DeineColumnNummer, #LVSCW_AUTOSIZE)
Grüße ... Kiffi
Re: Spalten von ListIconGadget automatisch anpassen
Verfasst: 08.07.2010 15:02
von gekkonier
Dankeschön
Re: Spalten von ListIconGadget automatisch anpassen
Verfasst: 08.07.2010 16:39
von Kiffi
gekkonier hat geschrieben:Dankeschön
gern!
Hier vielleicht noch ne kleine Verbesserung:
Wenn man Spaltenbreiten nach Inhalt anpasst, kann es vorkommen,
dass die Spaltennamen nicht mehr lesbar sind (bei kurzem Spalteninhalt
und langem Spaltenname). Aus diesem Grund führe ich zwei Breiten-
änderungen durch und nehme dann den längeren Wert. Somit ist
gewährleistet, dass der Anwender alle Informationen sieht.
Code: Alles auswählen
SendMessage_(hWnd, #LVM_SETCOLUMNWIDTH, ColCounter, #LVSCW_AUTOSIZE)
W1 = SendMessage_(hWnd, #LVM_GETCOLUMNWIDTH, ColCounter, 0)
SendMessage_(hWnd, #LVM_SETCOLUMNWIDTH, ColCounter, #LVSCW_AUTOSIZE_USEHEADER)
W2 = SendMessage_(hWnd, #LVM_GETCOLUMNWIDTH, ColCounter, 0)
If W1 > W2
ColWidth = W1
Else
ColWidth = W2
EndIf
SendMessage_(hWnd, #LVM_SETCOLUMNWIDTH, ColCounter, ColWidth + 10)
Grüße ... Kiffi