IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques Discussion :

Boucle et Listbox


Sujet :

Interfaces Graphiques

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 57
    Points : 33
    Points
    33
    Par défaut Boucle et Listbox
    Bonjour,

    j'ai créé une listbox avec plusieurs items. J'arrive à sélectionner plusieurs items dans la liste mais je ne comprends pas comment faire pour récupérer les items sélectionnés.
    Un bout de code pour comprendre... j'ai essayé ça...mais je ne sais pas quoi indiquer à la place des "??"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    h1 = uicontrol('Style', 'listbox', 'String', seance_ergo(:,1) ,...
                'Position', [30 100 400 500],'Max',50,'Min',0,'Callback',??????);
    Puis j'ai essayé de faire une boucle "for" afin de pouvoir récupérer la sélection dasn une matrice, mais dans ce cas je n'ai qu'un seul item dans ma listbox...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     % listbox
            for i = 1:size(seance_ergo,1)
            h100 = uicontrol('Style', 'listbox', 'String', seance_ergo(i,1) ,...
                'Position', [30 100 400 500],'Max',50,'Min',0,'Callback','test(i)=1');
            end
    Si quelqu'un à une petite astuce pour moi ce serait vraiment top!

    Merci d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Un exemple simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    function exemple
     
    elements = strcat({'item '},num2str((1:10).'));
     
    uicontrol('Style', 'listbox', ...
        'String', elements ,...
        'Position', [100 100 400 300],...
        'Max',2,...
        'Callback',@choix);
     
        function choix(hObject , eventData)
     
            indices = get(hObject,'Value');
            elements(indices)
        end
    end
    Je te conseille cette lecture pour appréhender le fonctionnement des callbacks.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 57
    Points : 33
    Points
    33
    Par défaut
    Bonjour,
    merci pour cette réponse rapide. Cependant, je ne parviens pas à faire fonctionner ce que vous me proposez.

    J'ai créer deux fonctions séparées

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function liste(elements)
     
    uicontrol('Style', 'listbox', ...
        'String', elements ,...
        'Position', [100 100 400 300],...
        'Max',20,...
        'Callback',@choix);
    end
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function choix(hObject, evendata)
     
    indices = get(hObject ,'Value');
    elements{indices}
    end
    Mais cela ne fonctionne pas. J'ai ce message d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ??? Undefined variable elements.
     
    Error in ==> choix at 4
    elements{indices}
     
    ??? Error while evaluating uicontrol Callback
    Comme je débute dans l'utilisation des listbox et de l'interface graphique, j'avoue ne pas comprendre où se situe le problème...

    Merci d'avance

  4. #4
    Invité
    Invité(e)
    Par défaut
    C'est normal, contrairement à toi j'ai utilisé une fonction imbriquée.
    Je te conseille la lecture de ce tutoriel.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 57
    Points : 33
    Points
    33
    Par défaut
    Rebonjour, merci pour votre aide.

    Par contre, les items sur lesquels je clique apparaissent bien dans la fenetre de commande, mais rein dans le workspace...

    Bonne journée

Discussions similaires

  1. Boucle et listbox
    Par gipn14 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 07/12/2014, 19h35
  2. [XL-2003] Propriété de ListBox dans une boucle
    Par Pierre Dumas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/07/2012, 09h24
  3. lire dans une listBox avec une boucle
    Par wolfazer dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 08/05/2007, 19h33
  4. Boucle avec une listbox multicolonne
    Par morgan47 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 28/08/2006, 21h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo