[R] Sélection item par double clic

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
Avatar du membre
Ks10
Niveau 6
Niveau 6
Messages : 282
Enregistré le : mer. 25 avr. 2012 20:38
Status : Hors ligne

[R] Sélection item par double clic

#1

Message par Ks10 »

Bonjour,

Je voudrais savoir si a partir d'une GuiCtrlCreateList() il était possible de sélectionner les items lié à celui ci ?

Exemple :

Code : Tout sélectionner

$List1 = GUICtrlCreateList("", 0, 0, 617, 474)
GuiCtrlSetData($list1, "Item1")
GuiCtrlSetData($list1, "Item2")
GuiCtrlSetData($list1, "Item3")
etc...
Je voudrais par exemple pouvoir sélectionner l'item1 avec un double clic pour pouvoir lui attribuer un changement. (Changer la ligne de couleur par exemple ^^, je connait la commande pour changer la couleur mais pas pour pouvoir sélectionner l'item)

j'espère que ma demande a été précise.
Je vous remercie d'avance.
Modifié en dernier par Ks10 le mar. 12 mars 2013 05:50, modifié 1 fois.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Sélection item par double clic

#2

Message par mikell »

Avec ce code le double clic sur l'item retourne son index
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Ks10
Niveau 6
Niveau 6
Messages : 282
Enregistré le : mer. 25 avr. 2012 20:38
Status : Hors ligne

Re: [..] Sélection item par double clic

#3

Message par Ks10 »

Le double clic fonctionne, j'ai réadapter la fonction à mon programme et voila ce que sa donne :

Code : Tout sélectionner

Func WM_COMMAND($hWnd, $Msg, $wParam, $lParam)
 #forceref $hWnd, $Msg, $lParam
 Switch BitAND($wParam, 0x0000FFFF)
    Case $List1
        If BitShift($wParam, 16) = 2 Then   ; 1 = clic, 2 = dble clic
                $index = InputBox("Choix de la couleur", "Liste des couleurs disponibles : " & @CRLF & "- Vert" & @CRLF & "- Orange" & @CRLF & "- Rouge")
                If $index = "Rouge" Then GUICtrlSetColor($List1,  0xff0000)
               ;$index = GUICtrlSendMsg($List1, $LB_GETCURSEL, 0, 0)
               ;msgbox(0,"", $index)
       EndIf
EndSwitch
  Return 'GUI_RUNDEFMSG'
EndFunc
Le résultat voulu : Si l'utilisateur entre le mot rouge, il colorie la ligne qui est sélectionner.

Le résultat que j'ai : L'utilisateur met le mot rouge il colorie toute les lignes... Je sait que ce n'est pas la variable $list1 qu'il faut spécifié mais je ne sait pas laquelle pour sélectionner uniquement la ligne qu'on veux.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Sélection item par double clic

#4

Message par mikell »

Ks10 a écrit : je connait la commande pour changer la couleur mais pas pour pouvoir sélectionner l'item)
Hum tu m'as induit en erreur là :mrgreen:

Pour ce genre de truc je te conseille d'utiliser une Listview plutôt qu'une List, en effet la difficulté c'est pas la sélection par double clic c'est la couleur des items et dans une listview les items sont mieux différenciés donc plus facilement customisables
Une listview avec le style $LVS_NOCOLUMNHEADER a exactement le look d'une list
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Ks10
Niveau 6
Niveau 6
Messages : 282
Enregistré le : mer. 25 avr. 2012 20:38
Status : Hors ligne

Re: [..] Sélection item par double clic

#5

Message par Ks10 »

Le soucis avec une listview pour avoir un contrôle des items il faut déclaré une variable mais mon programme fonctionne comme sa :

- Tu a la liste view
- Tu appuie sur le bouton 1
- Tu entre le paramètre voulu
- Il affiche dans la liste
- Il écrit dans un fichier texte.

Lorsque je relance mon programme.
- Il lit le fichier texte et réaffiche les items dans la liste.

Cependant aucune variable n'est déclaré. Et du coup je n'est aucun contrôle sur mes items.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Sélection item par double clic

#6

Message par mikell »

Ben va falloir choisir ^^
Si tu veux colorer une ligne au double clic, faudra une listview et gérer les items différemment, en passant par une array par exemple
► Afficher le texte
Sinon tu ne pourras pas customiser tes items
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Ks10
Niveau 6
Niveau 6
Messages : 282
Enregistré le : mer. 25 avr. 2012 20:38
Status : Hors ligne

Re: [..] Sélection item par double clic

#7

Message par Ks10 »

Ok je vais essayer de voir ce que je peut faire alors ^^
Merci.
Répondre