ListIcon Spaltenbreiten ermitteln
Verfasst: 08.07.2014 09:10
Ich habe ein Problem beim Ermitteln der Spaltenbreite
Es wird immer der gleiche Wert zurückgeliefert, egal wie breit ich die Spalte ziehe.
Hier ein lauffähiger Code, der das Problem zeigt. Verstellt einfach die Breite der Spalten und drückt dann den Button, um die Breiten anzuzeigen.
Code: Alles auswählen
GetGadgetItemAttribute(#FormMain_ListIcon, 0, #PB_ListIcon_ColumnWidth, 0)
Hier ein lauffähiger Code, der das Problem zeigt. Verstellt einfach die Breite der Spalten und drückt dann den Button, um die Breiten anzuzeigen.
Code: Alles auswählen
EnableExplicit
Enumeration
#FormMain
#FormMain_ListIcon
#FormMain_Button_Width
EndEnumeration
OpenWindow(#FormMain, 100, 100, 500, 400, "Fenster")
ListIconGadget(#FormMain_ListIcon, 10, 10, 480, 320, "Spalte 1", 100, #PB_ListIcon_FullRowSelect)
AddGadgetColumn(#FormMain_ListIcon, 1, "Spalte 2", 200)
AddGadgetColumn(#FormMain_ListIcon, 2, "Spalte 3", 140)
Define i
For i = 0 To 5
AddGadgetItem(#FormMain_ListIcon, i, "0," + Str(i) + #LF$ + "1," + Str(i) + #LF$ + "2," + Str(i))
Next i
;SetGadgetItemAttribute(#FormMain_ListIcon, 0, #PB_ListIcon_ColumnWidth, 200, 0)
;SetGadgetItemAttribute(#FormMain_ListIcon, 0, #PB_ListIcon_ColumnWidth, 200, 1)
;SetGadgetItemAttribute(#FormMain_ListIcon, 0, #PB_ListIcon_ColumnWidth, 200, 2)
ButtonGadget(#FormMain_Button_Width, 10, 340, 100, 30, "Spaltenbreiten")
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break
Case #PB_Event_Gadget
Select EventGadget()
Case #FormMain_Button_Width
Define c0 = GetGadgetItemAttribute(#FormMain_ListIcon, 0, #PB_ListIcon_ColumnWidth, 0)
Define c1 = GetGadgetItemAttribute(#FormMain_ListIcon, 0, #PB_ListIcon_ColumnWidth, 1)
Define c2 = GetGadgetItemAttribute(#FormMain_ListIcon, 0, #PB_ListIcon_ColumnWidth, 2)
Debug "Spaltenbreiten: " + c0 + " " + c1 + " " + c2
EndSelect
EndSelect
ForEver