[..] problème GUICreateList

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
lesolutionneur
Niveau 7
Niveau 7
Messages : 368
Enregistré le : ven. 09 déc. 2011 11:25
Status : Hors ligne

[..] problème GUICreateList

#1

Message par lesolutionneur »

Salut tout le monde,
j'ai une liste qui est la suivante :$List1 = GUICtrlCreateList("choucroute|cassoulet|paela|je sais pas quoi", 10, 10,500,500)
et une dim qui est comme ça : dim $der[4]= ["choucroute","cassoulet","paela","je sais pas quoi"]
et quand je fais un GUICtrlRead($List1), ça me renvoit la ligne en surbrillance.
Ce que je voudrais, c'est plutôt recevoir le numéro de l'élément (par exemple : paela --> 3).
Ce que je pourrais faire, c'est rechercher dans ma dim à quelle position est l'élément mais :
-c'est lent, surtout si ma liste commence à contenir 500-600 éléments
-je ne sais pas faire, donc si c'est la seule solution, montrez-moi comment


Merci d'avance ! :)
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [..] problème GUICreateList

#2

Message par TT22 »

Est-ce que cette fonction te convient ?

Code : Tout sélectionner

_GUICtrlListBox_GetSelCount()
Cordialement,
TT22
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [..] problème GUICreateList

#3

Message par matwachich »

Regarde du coté de: _GUICtrlListBox_SetItemData et _GUICtrlListBox_GetItemData
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
lesolutionneur
Niveau 7
Niveau 7
Messages : 368
Enregistré le : ven. 09 déc. 2011 11:25
Status : Hors ligne

Re: [..] problème GUICreateList

#4

Message par lesolutionneur »

Vous pourriez me donner un exemple ?
Je n'ai pas vraiment compris son utilisation ! :?

@TT22: cette fonction permet de connaître le nombre d'éléments sélectionnés, donc, aucun interêt pour moi ;)

Matwachich: la fonction air vois me proposez permet de récupérer la valeur d'une ligne d'une liste en donnant sa position.

Moi, je veux le contraire : je veux une fonction qui me renvoit le numéro de l'élément en surbrillance. Pouvez-vous me donner une telle fonction ?
lesolutionneur
Niveau 7
Niveau 7
Messages : 368
Enregistré le : ven. 09 déc. 2011 11:25
Status : Hors ligne

Re: [..] problème GUICreateList

#5

Message par lesolutionneur »

@matwachich: j'ai précisé ma demande dans le message précédent (avec un édit)
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [..] problème GUICreateList

#6

Message par matwachich »

Code : Tout sélectionner

#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

#include <GuiListBox.au3>

#Region ### START Koda GUI section ### Form=
$GUI = GUICreate("Test", 307, 207, 485, 232)
GUICtrlCreateLabel("Texte", 162, 24, 31, 17)
GUICtrlCreateLabel("Index", 162, 72, 30, 17)
; ---
$List = GUICtrlCreateList("", 6, 6, 133, 194, BitOR($LBS_NOTIFY,$LBS_SORT,$LBS_NOINTEGRALHEIGHT,$WS_VSCROLL))
    $hList = GuiCtrlGetHandle($List)
; ---
$I_Texte = GUICtrlCreateInput("", 162, 42, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_READONLY))
$I_Index = GUICtrlCreateInput("", 162, 90, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_READONLY))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

; le array avec vos trucs!
Global $Array[5] = [4, "choucroute", "cassoulet", "paela", "je sais pas quoi"]

; on rempli la liste
For $i = 1 To $Array[0]
    $tmp = _GuiCtrlListBox_AddString($hList, $Array[$i])
    _GuiCtrlListBox_SetItemData($hList, $tmp, $i)
Next

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $List
            $tmp = _GuiCtrlListBox_GetCurSel($hList)
            If $tmp <> -1 Then
                GuiCtrlSetData($I_Texte, _GuiCtrlListBox_GetText($hList, $tmp))
                GuiCtrlSetData($I_Index, _GuiCtrlListBox_GetItemData($hList, $tmp))
            Else
                GuiCtrlSetData($I_Texte, "")
                GuiCtrlSetData($I_Index, "")
            EndIf
    EndSwitch
WEnd
 
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
lesolutionneur
Niveau 7
Niveau 7
Messages : 368
Enregistré le : ven. 09 déc. 2011 11:25
Status : Hors ligne

Re: [..] problème GUICreateList

#7

Message par lesolutionneur »

Merci !
Je teste et je mets en résolu si c'est bon !
Répondre