la doc pretends que :Renvoie le nombre d'éléments que contient le #Gadget. Si le #Gadget ne contient pas d'élément, alors le Résultat est 0. Le premier élément commence à 1.
alors que pour un ListIconGadget() il marche tres bien avec zero ...
soit la doc se trompe, soit faudrai voir a faire que pour toutes les commandes concerné par CountGadgetItems(#Gadget), ce soit pareil a partir de zero pas de 1 !! .....
ou alors a partir de 1, parceque la on sait plus trop ou l'on en est
ex pour ListIconGadget() qui démontre que la doc dit faux ...
Code : Tout sélectionner
; PureBasic Visual Designer v3.95 build 1485 (PB4Code)
; PureBasic Visual Designer v3.95 build 1485 (PB4Code)
;- Window Constants
;
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
;
Enumeration
#ListIcon_0
EndEnumeration
Procedure Open_Window_0()
If OpenWindow(#Window_0, 294, 93, 431, 434, "New window ( 0 )", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
If CreateGadgetList(WindowID(#Window_0))
;-
ListIconGadget(#ListIcon_0, 40, 20, 370, 330, "Column0", 100)
EndIf
EndIf
EndProcedure
Open_Window_0()
; *************************************** ici ***********************************
For Position=0 To 25 ; pour chaque element de la liste
AddGadgetItem (#ListIcon_0, Position,"texte "+Str(Position))
Next Position
Debug GetGadgetItemText(#ListIcon_0, 0) ; marche tres bien avec zero !!!
Debug " ***************************************************"
For Position =0 To CountGadgetItems(#ListIcon_0)
If Position =0
Debug GetGadgetItemText(#ListIcon_0, Position) +" marche aussi avec zero"
Else
Debug GetGadgetItemText(#ListIcon_0, Position)
EndIf
Next Position
; ***************************************************************************
Repeat ; Start of the event loop
Event = WaitWindowEvent() ; This line waits until an event is received from Windows
WindowID = EventWindow() ; The Window where the event is generated, can be used in the gadget procedures
GadgetID = EventGadget() ; Is it a gadget event?
EventType = EventType() ; The event type
;You can place code here, and use the result as parameters for the procedures
If Event = #PB_Event_Gadget
If GadgetID = #ListIcon_0
EndIf
EndIf
Until Event = #PB_Event_CloseWindow ; End of the event loop
End
;