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 :

Sélection multiple dans une Listbox


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Gui13
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2006
    Messages : 157
    Par défaut Sélection multiple dans une Listbox
    Bonjour à tous,

    Mon problème est le suivant: je dispose d'une listbox dont le contenu indique des numéros de mesures disponibles.
    La sélection d'une mesure en cliquant dessus dans cette listbox provoque le tracé d'une courbe correspondant à cette mesure.

    Mon but est de pouvoir tracer plusieurs mesures sur le même graphe. J'ai donc inclut dans la création de ma Listbox un attribut 'Min' et 'Max'. Le problème est que je n'arrive pas à sélectionner plusieurs éléments dans cette liste.

    Vous connaissez le problème?

    Voici ma déclaration de la listbox:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ulistbox = uicontrol(fh,'Style','listbox',...
        'Position',[350 50 80 170],'Max',13,'Min',0,...
        'String',0:12,...
        'Callback',{@listbox_callback});
    Y a-t-il quelque chose que j'aie oublié?

  2. #2
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Ton code est OK (même avec un max=2 ça fonctionnerait).
    Comment fais-tu pour sélectionner plusieurs éléments ?
    Normalement cela se fait (au moins sur Windows) avec les touches CTRL et SHIFT plus sélection avec la souris.

  3. #3
    Membre confirmé Avatar de Gui13
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2006
    Messages : 157
    Par défaut
    J'appuye sur Ctrl + clic (comme dans l'explorateur windows quand on sélectionne plusieurs fichiers quoi).

    Mais quand je fais ca (et même un seul clic en fait), ma listbox ne 'bleuit' pas la case sur laquelle j'ai cliqué. Elle affiche un rectangle de sélection autour seulement.

    Par contre, si j'affiche la valeur de 'Value', j'ai bien le tableau de sélection des cases que j'ai cliqué (même si les cases ne sont pas sélectionnées):

    Nom : fenetresel.JPG
Affichages : 606
Taille : 17,3 Ko

    Me retourne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    index_selected =
     
         1     2     3     4

  4. #4
    Membre confirmé Avatar de Gui13
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2006
    Messages : 157
    Par défaut
    Je me demande si j'ai pas oublié quelque chose lors de l'écriture de ma fonction Callback. Il faut peut être dire à Matlab de "bleuir" les cases sélectionnées?

  5. #5
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Peux-tu nous montrer ce que renvoi la commande suivante dans le command window :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    h=findobj('style','listbox');
    get(h)
    Et ta configuration...

  6. #6
    Membre confirmé Avatar de Gui13
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2006
    Messages : 157
    Par défaut
    Voilà les choses que ca me retourne lorsque j'ai sélectionné les cases 2,3 et 4 :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    >> h=findobj('style','listbox')
     
    h =
     
        3.0112
     
    >> get(h)
    	BackgroundColor = [0.878431 0.87451 0.890196]
    	Callback = [ (1 by 1) function_handle array]
    	CData = []
    	Enable = on
    	Extent = [0 0 0.0355556 0.652632]
    	FontAngle = normal
    	FontName = MS Sans Serif
    	FontSize = [8]
    	FontUnits = points
    	FontWeight = normal
    	ForegroundColor = [0 0 0]
    	HorizontalAlignment = center
    	KeyPressFcn = 
    	ListboxTop = [1]
    	Max = [13]
    	Min = [0]
    	Position = [0.775556 0.17193 0.177778 0.596491]
    	String = [ (13 by 2) char array]
    	Style = listbox
    	SliderStep = [0.01 0.1]
    	TooltipString = 
    	Units = normalized
    	Value = [2 3 4]
     
    	BeingDeleted = off
    	ButtonDownFcn = 
    	Children = []
    	Clipping = on
    	CreateFcn = 
    	DeleteFcn = 
    	BusyAction = queue
    	HandleVisibility = on
    	HitTest = on
    	Interruptible = on
    	Parent = [1]
    	Selected = off
    	SelectionHighlight = on
    	Tag = 
    	Type = uicontrol
    	UIContextMenu = []
    	UserData = []
    	Visible = on
     
    >>
    Ma configuration est Matlab 2006a sous Windows XP SP2.

    Je vois bien que 'Value' est à [2 3 4], mais dans ma fenêtre, les cases ne semblent pas sélectionnées.
    J'ai un moment cru que c'était ma fonction Callback qui faisait ca (car elle plante pour le moment, je n'ai pas fini de la paufiner), mais en enlevent l'attribut Callback ca me fait la même chose...

  7. #7
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Je n'arrive à reproduire ton truc qu'en modifiant les paramètres d'affichage de la machine :
    Dans Apparence, en mettant pour les éléments sélectionnés en couleur de fond, la même couleur de fond que la listbox, et en couleur de police la même couleur de police que la listbox.
    Mais c'est vraiment du vice !

    Si tu reviens à une listbox à sélection simple, est-ce que tu retrouves le "bleuissement" ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Sélection multiple dans une listbox
    Par habasque dans le forum Tcl/Tk
    Réponses: 4
    Dernier message: 08/04/2014, 13h30
  2. [XL-2010] Sélection multiple dans une listbox
    Par Kutoh dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/12/2013, 14h35
  3. [XL-2010] Filtre multiple dans une listbox
    Par le-guedin dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/02/2013, 10h27
  4. Selection multiple dans une listbox
    Par diude54 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 17/08/2009, 13h55
  5. [Débutant] Sélection multiples dans une Listbox
    Par eraim dans le forum Access
    Réponses: 4
    Dernier message: 15/10/2005, 03h21

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