Seite 1 von 1
Frage zum ListIconGadget
Verfasst: 22.04.2007 04:11
von PureBasic4.0
Hi, Leute
Ich habe ein kleines Prog mit einem ListIconGadget erstellt (Flag Checkboxen). Wie kann ich jetzt abfragen, welche der Checkboxen aktiviert (angeklickt) sind und welche nicht? Es werden mehrere Spalten im ListIconGdg. benutzt.
Verfasst: 22.04.2007 04:29
von Macros
Hilfe hat geschrieben:GetGadgetItemState()
...
- ListIconGadget(): gibt eine Kombination der folgenden Werte zurück:
#PB_ListIcon_Selected : Der 'Eintrag' ist ausgewählt
#PB_ListIcon_Checked : Der 'Eintrag' ist mit einem Häkchen versehen (#PB_ListIcon_CheckBoxes Flag).
Verfasst: 22.04.2007 08:40
von nco2k
nebenbei sei noch angemerkt, dass man:
Code: Alles auswählen
If GetGadgetItemState(#Gadget, Position) & #PB_ListIcon_Checked
schreiben sollte, statt:
Code: Alles auswählen
If GetGadgetItemState(#Gadget, Position) = #PB_ListIcon_Checked
damit checked items korrekt mitgezählt werden, welche sowohl checked als auch selektiert sind (#PB_ListIcon_Checked | #PB_ListIcon_Selected).
Code: Alles auswählen
Procedure CountCheckedItems(Gadget)
TotalItems = CountGadgetItems(Gadget) - 1
For CurrentItem = 0 To TotalItems
If GetGadgetItemState(Gadget, CurrentItem) & #PB_ListIcon_Checked
Result + 1
EndIf
Next
ProcedureReturn Result
EndProcedure
If OpenWindow(0, 0, 0, 300, 230, "Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
ListIconGadget(0, 5, 5, 290, 190, "ABC", 290, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection | #PB_ListIcon_CheckBoxes)
ButtonGadget(1, 195, 200, 100, 25, "Count")
For ItemNr = 0 To 9
AddGadgetItem(0, -1, "Item"+Str(ItemNr))
Next
Repeat
WinEvent = WaitWindowEvent()
If WinEvent = #PB_Event_Gadget And EventGadget() = 1
Debug CountCheckedItems(0)
EndIf
Until WinEvent = #PB_Event_CloseWindow
EndIf : End
c ya,
nco2k
Verfasst: 22.04.2007 15:50
von PureBasic4.0
danke für eure Antworten!