Page 1 sur 1
Colonne invisible sur listicongadget
Publié : jeu. 03/mars/2011 10:48
par anissa
Bonjour,
Ma question est très simple: est-il possible de rendre invisible le contenu d'une colonne d'une ListIconGadget? Si oui, comment ?
Exemple:
Code : Tout sélectionner
AddGadgetItem(#MaListIconGadget,-1,NomClient$+chr(10)+NumTel$)
Ici je souhaite que le n° de téléphone soit invisible (mais je peux le lire dans le code)
Merci de votre aide
Anissa
Re: Colonne invisible sur listicongadget
Publié : jeu. 03/mars/2011 11:34
par Backup
...............
Re: Colonne invisible sur listicongadget
Publié : sam. 05/mars/2011 17:03
par anissa
Non, ce n'est pas ça ce que je veux, j'ai dit colonne invisible, je n'ai pas dit champs vide ! Au fait NumTel$ contient quelque chose mais l'utilisateur ne peux pas voir cette valeur ...
exemple NumTel$ ="099 99 99 99 99" si je fais:
Code : Tout sélectionner
wtel$=GetGadgetItemText(#MonIconGadget,NumLigne,NumCol)
debug wtel$
;ici La vleur du tel sera affichée = 099 99 99 99 99
;Mais sur la cellule (NumLigne,NumCol), on ne voit rien
Re: Colonne invisible sur listicongadget
Publié : sam. 05/mars/2011 17:14
par falsam
Puisque cette colonne ne doit pas être visible, pourquoi ne pas réduire la largeur de cette colonne à 0 pixel ?
Re: Colonne invisible sur listicongadget
Publié : sam. 05/mars/2011 18:11
par venom
ou utilisé la commande :
voici un code je ne l'ai pas commenter mais il est simple

:
Code : Tout sélectionner
If OpenWindow(0, 100, 100, 300, 150, "ListIconGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListIconGadget(0, 5, 5, 290, 90, "Nom", 100, #PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection)
AddGadgetColumn(0, 1, "Adresse", 185)
AddGadgetItem(0, -1, "Harry Rannit"+Chr(10)+"12 Parliament")
AddGadgetItem(0, -1, "Ginger Brokeit"+Chr(10)+"130 PureBasic Road")
ButtonGadget(1, 5, 110, 290, 20, "cacher", #PB_Button_Toggle)
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
Case 1
If GetGadgetState(1) = 0
ClearGadgetItems(0)
AddGadgetColumn(0, 1, "Adresse", 185)
AddGadgetItem(0, -1, "Harry Rannit"+Chr(10)+"12 Parliament")
AddGadgetItem(0, -1, "Ginger Brokeit"+Chr(10)+"130 PureBasic Road")
SetGadgetText(1, "cacher")
ElseIf GetGadgetState(1) = 1
ClearGadgetItems(0)
RemoveGadgetColumn(0, 1)
AddGadgetItem(0, -1, "Harry Rannit"+Chr(10)+"12 Parliament")
AddGadgetItem(0, -1, "Ginger Brokeit"+Chr(10)+"130 PureBasic Road")
SetGadgetText(1, "afficher")
EndIf
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow
EndIf
@++
Re: Colonne invisible sur listicongadget
Publié : lun. 07/mars/2011 10:19
par gnozal
anissa a écrit :Ma question est très simple: est-il possible de rendre invisible le contenu d'une colonne d'une ListIconGadget? Si oui, comment ?
Par exemple :
Code : Tout sélectionner
Procedure WindowCallBack(Window, Message, wParam, lParam)
ReturnValue = #PB_ProcessPureBasicEvents
;
Select Message
;
Case #WM_NOTIFY
*NotifyMsgInfos.NMHEADER = lParam
;
If *NotifyMsgInfos\hdr\code = #HDN_ITEMCHANGING
;
If *NotifyMsgInfos\iItem = 1 ; colonne 2 (index = 1) bloquée
ReturnValue = #True
EndIf
;
EndIf
EndSelect
;
ProcedureReturn ReturnValue
EndProcedure
;
If OpenWindow(0,0,0,320,300,"Colonne 2 invisible (largeur 0 + bloquée)", #PB_Window_ScreenCentered | #PB_Window_SystemMenu)
;
ListIconGadget(1,1,1,299,299,"Colonne 1", 298/4, #PB_ListIcon_MultiSelect)
AddGadgetColumn(1, 1, "Colonne 2", 0) ; colonne 2 : largeur = 0
AddGadgetColumn(1, 2, "Colonne 3", 298/4)
AddGadgetColumn(1, 3, "Colonne 4", 298/4)
;
For i = 1 To 10
AddGadgetItem(1, -1, "111"+Chr(10)+ "222"+Chr(10)+"333"+Chr(10)+ "444")
Next i
SetWindowCallback(@WindowCallBack())
;
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
;
EndIf
Re: Colonne invisible sur listicongadget
Publié : lun. 07/mars/2011 15:07
par Ulix
Salut
Personnellement j'utilise :
SetGadgetItemAttribute(#Grille, 0, #PB_ListIcon_ColumnWidth, 1 , 0) ;Cache colonne0
C'est multi-plateforme, rapide et souple et pas besoin de callback !
A plus !

Re: Colonne invisible sur listicongadget
Publié : lun. 07/mars/2011 15:13
par gnozal
Ulix a écrit :...
C'est multi-plateforme, rapide et souple et pas besoin de callback !
Le callback interdit de redimensionner la colonne, ce qui reste possible même avec une colonne de largeur nulle.