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

GTK+ avec C & C++ Discussion :

[GTK3] Récupérer label radio menu item actif


Sujet :

GTK+ avec C & C++

  1. #1
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2010
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2010
    Messages : 83
    Points : 46
    Points
    46
    Par défaut [GTK3] Récupérer label radio menu item actif
    Bonjour,
    Ça fait deux heures que je cherche mais aucun résultat. Faut dire que GTK3 n'existe pas sur internet, si on retirait la doc officielle (qui sert pas à grand choses je trouve) Google ignorerait presque l’existence de GTK3.
    J'ai bien essayé d'adapter le code GTK2 du tuto http://gtk.developpez.com/cours/gtk2/ mais rien à faire.

    Parlons code.
    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
                game = gtk_menu_new ();
     
                    new_item = gtk_menu_item_new_with_label ( _("New"));
                    g_signal_connect ( G_OBJECT(new_item), "activate", G_CALLBACK (new_game), NULL);
                    gtk_menu_shell_append (GTK_MENU_SHELL(game), new_item);
     
                    level_easy_item = gtk_radio_menu_item_new_with_label (group, _("Easy"));
                    group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (level_easy_item));
                    g_signal_connect ( G_OBJECT(level_easy_item), "activate", G_CALLBACK (chLevel), NULL);
                    gtk_menu_shell_append (GTK_MENU_SHELL(game), level_easy_item);
     
                    level_medium_item = gtk_radio_menu_item_new_with_label (group, _("Medium"));
                    group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (level_medium_item));
                    g_signal_connect ( G_OBJECT(level_medium_item), "activate", G_CALLBACK (chLevel), NULL);
                    gtk_menu_shell_append (GTK_MENU_SHELL(game), level_medium_item);
     
                    level_hard_item = gtk_radio_menu_item_new_with_label (group, _("Hard"));
                    group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (level_hard_item));
                    g_signal_connect ( G_OBJECT(level_hard_item), "activate", G_CALLBACK (chLevel), NULL);
                    gtk_menu_shell_append (GTK_MENU_SHELL(game), level_hard_item);
     
     
                level_easy_item = gtk_menu_item_new_with_label ( _("Game"));
                gtk_menu_item_set_submenu (GTK_MENU_ITEM(level_easy_item), game);
                gtk_menu_shell_append(GTK_MENU_SHELL(menu), level_easy_item);
    L'objectif est de récupérer en une fonction chLevel le label du GTK_RADIO_MENU_ITEM sélectionné, et si possible avec un autre argument, un pointeur vers une variable, dans cette même fonction (sinon je serais obligé d'en faire une globale alors déjà que j'ai que ça des globales dans mon code...
    Merci de votre aide.

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 293
    Points : 4 943
    Points
    4 943
    Billets dans le blog
    5
    Par défaut
    Le signal "activate" demande comme prototype de callback ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    void                user_function                      (GtkMenuItem *menuitem,
                                                            gpointer     user_data)
    Dans cette fonction tu récupères naturellement le GtkMenuItem activé. Pour rappel Les GtkRadioMenuItem héritent des GtkMenuItem.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    +----GtkMenuItem
          +----GtkCheckMenuItem
                +----GtkRadioMenuItem
    A partir de là tu utilises simplement la fonction const gchar *gtk_menu_item_get_label (GtkMenuItem *menu_item);.

    Où est la difficulté?

    Pour passer un pointeur sur une variable (ou autre chose) utilises le dernier argument de la fonction g_signal_connect();. Tu récupères ta variable dans le callback grâce au dernier argument. On évite ainsi les variables globales.

  3. #3
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2010
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2010
    Messages : 83
    Points : 46
    Points
    46
    Par défaut
    La difficulté ? Euh... Ça fait une semaine que je fais du GTK3 et j'ai appris seul le C pendant deux semaines, c'est ça ?

    Je pense que je suis sur la bonne voie avec ça, merci pour votre aide.

    ==EDIT==
    Merci j'ai réussi

  4. #4
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 293
    Points : 4 943
    Points
    4 943
    Billets dans le blog
    5
    Par défaut
    Passes ton post en "Résolu" si ca répond à la question (icône en bas de page).

  5. #5
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2010
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2010
    Messages : 83
    Points : 46
    Points
    46
    Par défaut
    Presque résolu en fait.
    Pour le passage de pointeur j'ai un problème.

    En fait, à l'initialisation, j'ai un appel à la fonction init_level, ne dépendant pas des option_menu. La fonction chLevel est en fait un intermédiaire utilisé pour changer le comportement de l'application par l'utilisateur, en cour de partie.
    Mon code ne fonctionne pas. L'interface freeze quand on change la valeur d'un optionmenu.
    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
    void chLevel(GtkWidget *radio, Level *lv)
    {
        gchar *label;
        label = gtk_menu_item_get_label (GTK_MENU_ITEM (radio));
        init_lv(lv, label);
    }
     
    void init_lv (Level *lv, char *difficulty)
    {
    ...
    }
    main()
    {
    ...
                    level_medium_item = gtk_radio_menu_item_new_with_label (group, _("Medium"));
                    group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (level_medium_item));
                    g_signal_connect ( G_OBJECT(level_medium_item), "activate", G_CALLBACK (chLevel), &lv);
                    gtk_menu_shell_append (GTK_MENU_SHELL(game), level_medium_item);
    ...
    }
    De plus, je pensais que activate enverrais le signal seulement quand on cliquait dessus. Or, la fonction est exécutée de fois quand on clique : une fois par le widget qui perd l'activation, et la seconde par celui qui la gagne. Je sais pas comment bloquer la première activation...

    ==EDIT==
    Pour empêcher de recevoir le signal de l’élément qui se désactive, j'ai trouvé une solution, peut-être pas très propre, mais une solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    void chLevel(GtkWidget *radio, Level *lv)
    {
        static int i;
        if(!i) i=0;
        i+=1;
     
        if(i%2 == 0)
        {
            gchar *label;
            label = gtk_menu_item_get_label (GTK_MENU_ITEM (radio));
            //init_lv(lv, label);
            printf("%s\n", label);
        }
    }

  6. #6
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 293
    Points : 4 943
    Points
    4 943
    Billets dans le blog
    5
    Par défaut
    Pas évident de répondre ici. Pour commencer le nom du label est renvoyé dans un const char et non un simple char.
    Ceci est dû au fait que tu ne récupères pas une copie du nom mais bien le pointeur interne. Donc interdiction de le modifier à la volée.

    Ton passage d'argument me semble correcte. Si tu modifies label alors fais-en une copie et travailles sur la copie. g_strdup(); est là pour ca.

    Ensuite si tu veux réaffecter le nom éventuellement modifié utilises gtk_menu_item_set_label();.

  7. #7
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2010
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2010
    Messages : 83
    Points : 46
    Points
    46
    Par défaut
    Merci, tout marche
    Mais j'ai un autre problème moins gênant dans l’immédiat...

    Serait-il possible de récupérer sous forme d'index les valeurs ? Au lieu du label récupérer 0 pour le premier, 2 pour le second... Autrement que dans une boucle si possible. Parce que je viens de réaliser qu'avec Gettext ça marcherai pas trop comme le fichier sera en anglais et l'interface dans je ne sais quelle langue ^^'

    PS : @gerald3d : je citerai ton pseudo (avec un lien vers ton profil si j'y arrive) dans les crédits, en remerciements

  8. #8
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 293
    Points : 4 943
    Points
    4 943
    Billets dans le blog
    5
    Par défaut
    Hum, je ne vois que deux solutions:
    1. Tu transmets au callback un nombre unique pour chaque bouton. Pour se faire il faut transmettre une structure avec les données que tu veux envoyer plus ce fameux numéro.
    2. Tu utilises la fonction GSList *gtk_radio_menu_item_get_group (GtkRadioMenuItem *radio_menu_item);. Ensuite tu scrutes cette liste en comparant chaque élément avec le pointeur du menu que tu as directement dans le callback. Le numéro d'ordre te donne sa position. De là tu sais quel bouton a été cliqué quelque soit la langue.

  9. #9
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Points : 2 002
    Points
    2 002
    Par défaut
    Pour ce qui est de la disparition de fonctions, un bon nombre étaient dépréciées depuis bien longtemps. GTK3 est encore jeune (6 mois), donc son existence sur le net est assez limitée, les tutoriels qu'on trouve à droite à gauche étant souvent âgés et traitant de GTK2. Quant au manque de configurabilité de GNOME 3, la Release Team avait déjà repoussé la sortie de 6 mois, et il fallait livrer quitte à ce qu'il y ait moins de fonctionnalités. Retarder la sortie rendait compliqué le développement, les mainteneurs se retrouver à maintenir les versions GTK2 et GTK3 de leurs logiciels 6 mois de plus. Au final, ce les options de personnalisation qui sont passées à la trappe. L'autre raison était aussi que l'on voulait un look "GNOME", identique un peu partout, et que GNOME soit facilement reconnaissable (plus que la distribution).

  10. #10
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2010
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2010
    Messages : 83
    Points : 46
    Points
    46
    Par défaut
    C'est chaud quand même... Je sais pas comment je vais m'y prendre, je récupère la liste et je fais jesaisplusquoi_next( GSList *group) jusqu'à que la valeur du radio récupéré soit la même que celle du radio "toggled" c'est ça ? De mémoire il me semble qu'il y a quelque chose de similaire dans la doc GTK2 de ce site...
    Dites, à quoi servent les radio buttons de GTK ? Parce que Gettext est très utilisé sous GNU/Linux alors utiliser le label a peu d’intérêt comme il changera selon la langue, non ? Enfin j'ai du mal à saisir l'intérêt de certaines fonctions de GTK vu que je pense un peu en Tkinter pour certains widgets.

  11. #11
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 293
    Points : 4 943
    Points
    4 943
    Billets dans le blog
    5
    Par défaut
    Je t'ai donné une solution technique. Mais ce n'est peut être pas la meilleure. Et peut être pas la plus courte. Une fonction Gtk+ existe peut être?

    Histoire de ne pas être en reste, je te donne une autre manière de faire. Cette méthode rend le code source un peu indigeste mais ca fonctionne.

    Les GtkWidget héritent des GObject. Ils disposent donc d'un pointeur sur une liste. Ce pointeur est à la discrétion de l'utilisateur. Pour l'utiliser on utilise les fonctions
    Je reprends ton code pour te montrer comment les utiliser.

    Assignation des callback:
    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
    ...
    level_easy_item = gtk_radio_menu_item_new_with_label (group, _("Easy"));
                    group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (level_easy_item));
    g_object_set_data(G_OBJECT(level_easy_item), "LEVEL", GINT_TO_POINTER(1));
                    g_signal_connect ( G_OBJECT(level_easy_item), "activate", G_CALLBACK (chLevel), NULL);
                    gtk_menu_shell_append (GTK_MENU_SHELL(game), level_easy_item);
     
                    level_medium_item = gtk_radio_menu_item_new_with_label (group, _("Medium"));
                    group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (level_medium_item));
    g_object_set_data(G_OBJECT(level_medium_item), "LEVEL", GINT_TO_POINTER(2));
                    g_signal_connect ( G_OBJECT(level_medium_item), "activate", G_CALLBACK (chLevel), NULL);
                    gtk_menu_shell_append (GTK_MENU_SHELL(game), level_medium_item);
     
                    level_hard_item = gtk_radio_menu_item_new_with_label (group, _("Hard"));
                    group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (level_hard_item));
    g_object_set_data(G_OBJECT(level_hard_item), "LEVEL", GINT_TO_POINTER(3));
                    g_signal_connect ( G_OBJECT(level_hard_item), "activate", G_CALLBACK (chLevel), NULL);
                    gtk_menu_shell_append (GTK_MENU_SHELL(game), level_hard_item);
    ...
    Dans ton callback tu rècupères ta donnée comme ca:
    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
    ...
    void chLevel(GtkWidget *radio, Level *lv)
    {
        gchar *label;
    int level;
     
        label = gtk_menu_item_get_label (GTK_MENU_ITEM (radio));
     
    level = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(radio), "LEVEL"));
    switch (level)
    {
      case 1 :
        g_print("level easy\n");
        break;
      case 2 :
        g_print("level medium\n");
        break;
      case 3:
        g_print("level hard\n");
        break;
    }
     
        init_lv(lv, label);
    }
    ...

  12. #12
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2010
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2010
    Messages : 83
    Points : 46
    Points
    46
    Par défaut
    C'est exactement ce dont j'avais besoin, merci

  13. #13
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2010
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2010
    Messages : 83
    Points : 46
    Points
    46
    Par défaut
    Une dernière chose encore, comment activer un radio grâce à son numéro ?
    Une boucle avec gtk_radio_button_get_group pour tester tous les radios contenus, et si l'identifiant celui voulu gtk_toggle_button_set_active. Le problème c'est comment tester leur numéro ? Je pense faire ça depuis la même fonction (main) que l'instanciation des radiobuttons.
    Merci.

  14. #14
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 293
    Points : 4 943
    Points
    4 943
    Billets dans le blog
    5
    Par défaut
    Je ne saisi pas bien ta dernière question. Du moment où l'utilisateur clique sur un des boutons il est forcément activé.

  15. #15
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2010
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2010
    Messages : 83
    Points : 46
    Points
    46
    Par défaut
    Au lancement du programme, on lit un fichier contenant le niveau à charger (donc le dernier niveau utilisé avant la fermeture).
    On initialise ensuite le niveau :
    - le niveau == 1 => on lance l'initialisation du lv1
    - le niveau != 1 => on change l'optionmenu actif pour que celui correspondant au niveau soit coché. le changement de variable provoquant le signal toogled, la fonction pour changer de niveau est appelée donc l'initialisation se fait automatiquement.
    Si je me contente d'initialiser les optionmenus resteront sur la première option.

  16. #16
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 293
    Points : 4 943
    Points
    4 943
    Billets dans le blog
    5
    Par défaut
    La fonction à utiliser pour activer un bouton radio est gtk_check_menu_item_set_active();. La difficulté est de trouver lequel.

    Cette fois-ci je ne vois qu'une seule solution. Le parcours de la liste des boutons radio avec la fonction gtk_radio_menu_item_get_group(); que j'ai déjà cité. Comme tu disposes pour chaque entrée d'un numéro (1, 2, 3 pour chaque level) que tu récupères grâce à g_object_get_data(); il ne te reste qu'a chercher lequel correspond.

  17. #17
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2010
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2010
    Messages : 83
    Points : 46
    Points
    46
    Par défaut
    Merci c'est précisément ce à quoi je pensais. M'étais juste mélangé dans mes pointeurs ^^'
    Je vais reprendre ça un peu plus méthodiquement (et faire un peu de tri dans mon code...).

    Le problème c'est surtout quoi envoyer à quelle fonction. Je dois envoyer un GTK_RADIO à gtk_radio_button_get_group alors je prend le premier radio de la série à tout hasard. Est-ce ça ? N'est-ce pas ça j'en sais rien.
    Ensuite le passage de GSList *pList en argument aux fonctions je sais pas si c'est ça qu'il fallait faire, bref, c'est un peu du hasard ce que j'ai fait... Et ça se ressent dans mon terminal :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    GLib-GObject-WARNING **: invalid cast from `GtkMenuItem' to `GtkRadioButton'
     
    Gtk-CRITICAL **: gtk_radio_button_get_group: assertion `GTK_IS_RADIO_BUTTON (radio_button)' failed

    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
    void loadLevel(Level *lv)
    {
        lv->level = getLevel();
     
        if (lv->level == 1) init_lv(lv, lv->level);
        else
        {
            GSList *pList;
            int index;
     
            pList = gtk_radio_button_get_group(GTK_RADIO_BUTTON(level_easy_item));
     
            while(pList)
            {
                index = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(pList), "LEVEL"));
                if (index == lv->level)
                {
                    gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM (pList), TRUE);
                    pList = NULL;
                }
                else
                {
                    pList = g_slist_next(pList);
                }
            }
        }
    }
    Merci beaucoup

  18. #18
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2010
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2010
    Messages : 83
    Points : 46
    Points
    46
    Par défaut
    Finalement, j'ai réussi grâce à euh... un switch
    OK, c'est facile, c'est de la triche, c'est pas pro... Mais bon, ça marche et c'est bien lisible alors je vais garder ça je pense.
    Merci pour votre aide et bonne continuation.

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

Discussions similaires

  1. le label d'un item menu trop long
    Par zchallal dans le forum Forms
    Réponses: 2
    Dernier message: 20/10/2007, 18h39
  2. récupérer dans 1 menu le sous menu séléctionner
    Par vincedjs dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 02/03/2006, 13h53
  3. [vb.net][dataview] récupérer l'index des items filtrés ?
    Par graphicsxp dans le forum Windows Forms
    Réponses: 6
    Dernier message: 26/01/2006, 15h55
  4. Récupérer la liste des items d'un champs
    Par korntex5 dans le forum Bases de données
    Réponses: 6
    Dernier message: 11/01/2006, 15h50
  5. [VB.NET] [ListBox / ComboBox] Label de l'item sélectionné?
    Par Giuseppe dans le forum Windows Forms
    Réponses: 5
    Dernier message: 14/12/2005, 14h22

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