Colonne invisible sur listicongadget

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
anissa
Messages : 136
Inscription : mer. 13/oct./2010 15:43

Colonne invisible sur listicongadget

Message 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
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Colonne invisible sur listicongadget

Message par Backup »

...............
Dernière modification par Backup le sam. 01/oct./2011 10:21, modifié 1 fois.
anissa
Messages : 136
Inscription : mer. 13/oct./2010 15:43

Re: Colonne invisible sur listicongadget

Message 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 
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Colonne invisible sur listicongadget

Message par falsam »

Puisque cette colonne ne doit pas être visible, pourquoi ne pas réduire la largeur de cette colonne à 0 pixel ?
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
venom
Messages : 3138
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Re: Colonne invisible sur listicongadget

Message 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  






@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Re: Colonne invisible sur listicongadget

Message 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
Avatar de l’utilisateur
Ulix
Messages : 315
Inscription : ven. 04/juin/2004 14:27
Localisation : Frontignan

Re: Colonne invisible sur listicongadget

Message 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:
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Re: Colonne invisible sur listicongadget

Message 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.
Répondre