(Résolu] choix multiples dans une ListViewGadget?

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Micoute
Messages : 2584
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

(Résolu] choix multiples dans une ListViewGadget?

Message par Micoute »

La question est dans l'entête du post, moi je pense que oui qu'on peut faire des choix multiples dans une ListViewGadget, mais j'avoue que je ne vois pas la solution, alors comme d'habitude, je fais appel aux bonnes volontés que je remercie d'avance.
Dernière modification par Micoute le lun. 08/oct./2012 17:39, modifié 1 fois.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Torp
Messages : 360
Inscription : lun. 22/nov./2004 13:05

Re: peut-on faire des choix multiples dans une ListViewGadge

Message par Torp »

Oui, c'est dans la doc, il suffit de mettre #PB_ListView_Multiselect à la création de ta ListView.

Bye
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: peut-on faire des choix multiples dans une ListViewGadge

Message par falsam »

En complément de la réponse de Torp.

Bonjour Micoute,
Quand tu ne connais pas toutes les fonctionnalités d'un gadget ou de tout autres mots réservés de Pure Basic, il te suffit de placer le curseur sur le mot réservé puis d'appuyer sur la touche F1 de ton clavier.:)

#PB_ListView_Multiselect permet effectivement de sélectionner plusieurs items dans une liste.
Pour ensuite connaitre les élèments sélectionnés, tu vas devoir faire une boucle qui consiste à parcourir ta liste afin de savoir si un item est sélectionné ou pas. GetGadgetItemState(List, Position) renvoie #True si l'item est sélectionné.

Un peu de code pour résumé cela :

Code : Tout sélectionner

Enumeration
  #Mainform
  #List
  #BtnOk
EndEnumeration


Define.l Event, WEvent, MEvent, GEvent, TEvent

Global WindowStyle.i=#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_ScreenCentered|#PB_Window_SizeGadget

Procedure Open_MainForm()
  OpenWindow(#Mainform, 0, 0, 500, 400, "Multilist", WindowStyle)
  ListViewGadget(#List, 10, 10, 480, 350, #PB_ListView_MultiSelect)
  ButtonGadget(#BtnOk, 10, 370, 480, 22, "Selectionne les items puis clique moi")
  
  ;Un peu de remplissage pour l'exemple.
  For N=0 To 9
    AddGadgetItem(#List, -1, "Item " + Str(N))
  Next    
EndProcedure

Open_MainForm()

Repeat
  Event  = WaitWindowEvent(10)
  WEvent = EventWindow() ;different de WindowEvent() :p (oui je me suis fais avoir !!!)
  MEvent = EventMenu()
  GEvent = EventGadget()
  TEvent = EventType()
  Select Event
    Case #PB_Event_Gadget
      Select GEvent
        Case #BtnOk
          
          ;Liste des items selectionnés
          For N=0 To CountGadgetItems(#List) - 1
            If GetGadgetItemState(#List, N) = #True
              Debug GetGadgetItemText(#List, N)
            EndIf
          Next
      EndSelect
        
    Case #PB_Event_CloseWindow
      End
  EndSelect
ForEver
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
Micoute
Messages : 2584
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: peut-on faire des choix multiples dans une ListViewGadge

Message par Micoute »

D'abord merci beaucoup !

C'est ce que j'ai fait, j'ai mis #PB_ListView_MultiSelect, mais il faut que je valide à chaque ligne et ce que je souhaiterais, c'est cliquer plusieurs articles dans ma liste et valider le tout d'un simple clic, par exemple avec un bouton "Valider"
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: peut-on faire des choix multiples dans une ListViewGadge

Message par falsam »

Micoute a écrit :ce que je souhaiterais, c'est cliquer plusieurs articles dans ma liste et valider le tout d'un simple clic, par exemple avec un bouton "Valider"
Je me demande si tu as bien lu mon code précédent qui fait exactement ce que tu cherches.

PS : Si c'est pas ça, alors poste un peu de code afin de comprendre ce que tu cherches :)
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
Micoute
Messages : 2584
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: peut-on faire des choix multiples dans une ListViewGadge

Message par Micoute »

J'ai compris ! La fonction marche à l'envers, il faut mettre #PB_ListView_ClickSelect et dans ce cas, on peut sélectionner plusieurs acticles et valider après ! C'est quand même étrange.

Merci tout de même.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: (Résolu] choix multiples dans une ListViewGadget?

Message par falsam »

Petite précision : Si tu utilises #PB_ListView_MultiSelect tu peux sélectionner tes éléments un par un avec la souris tout en maintenant la touche Control.

Pour sélectionner des items consécutifs, tu cliques gauche sur la souris et sans relâcher ce clique gauche, tu glisses la souris de haut en bas ou de bas en haut.
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
Micoute
Messages : 2584
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: (Résolu] choix multiples dans une ListViewGadget?

Message par Micoute »

Merci, je ne connaissais pas cette précision, mais comme ce que j'ai fait ça fonctionne, alors je vais laisser ça comme c'est !

Merci encore pour ta contribution.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Répondre