Seite 1 von 1

ListIconGadget mit CheckBoxes

Verfasst: 24.03.2008 17:54
von ThoPie
Hallo,
ich stehe schon wieder auf dem Schlauch. Ich habe folgende Prozedur:

Code: Alles auswählen

Procedure FehlzeitenMarkieren(ST.b)
  For i=0 To CountGadgetItems(#liiFehlzeiten)-1
    If ST=0
      SetGadgetItemState(#liiFehlzeiten,i,0)
    ElseIf ST=1
      SetGadgetItemState(#liiFehlzeiten,i,#PB_ListIcon_Checked)
    EndIf
  Next i
EndProcedure
Wenn ich die Prozedur mit dem Parameter 0 aufrufe sollen alle CheckBoxes demarkiert werden und mit dem Parameter 1 alle CheckBoxes markiert werden.
In meinem Fall werden aber stets die Checkboxes deaktiviert. Was habe ich falsch gemacht?

Verfasst: 24.03.2008 19:08
von scholly
Check mal (über eine Debug-Ausgabe), was die Proc bei Dir bekommt, dann bei mir klappts:

Code: Alles auswählen

#liiFehlzeiten =0

Procedure FehlzeitenMarkieren(ST.b)
  For i=0 To CountGadgetItems(#liiFehlzeiten)-1
    If ST=0
      SetGadgetItemState(#liiFehlzeiten,i,0)
    ElseIf ST=1
      SetGadgetItemState(#liiFehlzeiten,i,#PB_ListIcon_Checked)
    EndIf
  Next i
EndProcedure 

If OpenWindow(#liiFehlzeiten, 100, 100, 300, 200, "ListIcon Example", #PB_Window_SystemMenu | #PB_Window_ScreenCentered )
  If CreateGadgetList(WindowID(#liiFehlzeiten))
    ListIconGadget(0, 5, 5, 290, 90, "Name", 100, #PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection|#PB_ListIcon_CheckBoxes)
    AddGadgetColumn(0, 1, "Address", 250)
    AddGadgetItem(0, -1, "Harry Rannit"+Chr(10)+"12 Parliament Way, Battle Street, By the Bay")
    AddGadgetItem(0, -1, "Ginger Brokeit"+Chr(10)+"130 PureBasic Road, BigTown, CodeCity")
     
    ButtonGadget(1,10,120,100,30,"check all")

    ButtonGadget(2,120,120,100,30,"uncheck all")

    Repeat
      Event = WaitWindowEvent()
       
      If event = #PB_Event_Gadget
        EventGadget = EventGadget()
        If EventGadget = 1
          FehlzeitenMarkieren(1)
        ElseIf EventGadget = 2
          FehlzeitenMarkieren(0)
        EndIf              
      EndIf
    Until Event = #PB_Event_CloseWindow
  EndIf
EndIf