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 :

Code : Tout sélectionner

RemoveGadgetColumn(#Gadget, Colonne)
voici un code je ne l'ai pas commenter mais il est simple :wink: :

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 ! :lol:

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.