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

C++ Discussion :

texte vers ComboBox et petit problème d'EditBox


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 24
    Par défaut texte vers ComboBox et petit problème d'EditBox
    Bonjour,
    mon premier message ici et... mes premières questions
    J'ai déjà recherché sur google et le forum mais sans résultats.

    1 : Si j'ai le fichier texte file.txt avec comme contenu :
    Je voudrais que dans ma combobox apparaissent en choix test et test2.
    Seulement je ne sais pas comment faire, j'ai déjà essayé mais sans résultat


    2 : Lorsque je crée un programme avec une boîte de dialogue qui contient une editbox et que je clic sur l'editbox pour y écrire quelque chose, la boîte de dialogue se ferme et je ne comprend pas pourquoi...
    Voila une partie du code :

    Resource.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    #define OK 01
    #define TEXTE 02
    Resource.cpp
    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
     
    #include <windows.h>
     
    #include "Resource.h"
     
    BOOL APIENTRY Dialog1(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
    {
         switch(uMsg)
         {
         case WM_COMMAND:
              if(LOWORD(wParam) == OK)
              {
              EndDialog(hwnd, 0);
              return TRUE;
              }
     
              if (LOWORD(wParam) == IDCANCEL)
              {
              EndDialog(hwnd,0);
              return TRUE;
              }
     
          default:
             return FALSE;
         }
    }
    Resource.rc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    #include <windows.h>
     
    #include "Resource.h"
     
    Dialog1 DIALOG
          5, 5, 70, 40
          STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
          CAPTION "Boite"
     
    BEGIN
         EDITTEXT TEXTE, 2, 2, 65, 12, ES_LEFT
         DEFPUSHBUTTON "OK" OK, 20, 20, 25, 15
    END
    Merci d'avance pour vos réponses.

  2. #2
    Membre éclairé Avatar de Higestromm
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    516
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 516
    Par défaut
    Ouvre ton fichier avec un istream, lit les lignes une à une avec getline et ensuite insère le résultat dans ton combobox.

  3. #3
    mat.M
    Invité(e)
    Par défaut
    Pour l'Edit Box cela doit être un problème de focus...
    Dans l'éditeur de ressource bien faire attention à l'ordre de tabulation

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 24
    Par défaut
    Bonjour,
    merci pour votre aide, j'ai essayé pour la combobox ce que j'avais déjà testé avant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    case WM_INITDIALOG:
              ifstream file("./1.txt");
              char nom[30];
              while(file)
              {
              file.getline(nom, 30, '\n');
              SendDlgItemMessage(hwnd, CB1, CB_ADDSTRING, 0, (LONG)nom);
              }
              file.close();
              break;
    Mais j'ai des erreurs à la compilation :
    crosses initialization of `std::ifstream file'
    jump to case label
    ps : je suis sous dev-cpp

    Ensuite, pour l'editbox (problème que j'ai aussi avec la combobox quand je veux faire défiler la liste des choix) je ne comprends pas trop le message de mat.M
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Pour l'Edit Box cela doit être un problème de focus...
    Dans l'éditeur de ressource bien faire attention à l'ordre de tabulation

  5. #5
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Citation Envoyé par Shrine
    Mais j'ai des erreurs à la compilation :
    crosses initialization of `std::ifstream file'
    jump to case label
    Tu ne peux pas déclarer une variable dans un case, car comme l'indique le message d'erreur, la portée d'une telle variable serait celle de la fonction mais l'exécution pourrait ne pas y passer. Déclare ta variable avant ton bloc switch, ou colle un bloc d'accolades pour limiter la portée de ta variable.

  6. #6
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par Laurent Gomila
    Tu ne peux pas déclarer une variable dans un case,
    Il n'y a aucun problème lié au switch. Les problèmes c'est que les case sont des labels, et qu'on ne peut pas définir des variables initialisées quand il y a des labels qui permettent à l'exécution de passer outre l'initialisation. Donc il est possible de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include <fstream>
     
    int f(int i)
    {
      switch(i) {
      case 1:
        return 0;
      default:
        int is = 5;
        return is;
      }
    }
    parce qu'il n'y a aucun label qui permettent de sauter au delà de l'initialisation de is. S'il y en avait un, le compilateur donnerait une erreur.

    car comme l'indique le message d'erreur, la portée d'une telle variable serait celle de la fonction mais l'exécution pourrait ne pas y passer.
    La portée serait le bloc du switch.

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

Discussions similaires

  1. petit problème ave combobox
    Par zidane2 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 09/10/2010, 01h55
  2. Petit problème sur un comboBox
    Par Claude_Azoulai dans le forum VB.NET
    Réponses: 2
    Dernier message: 16/03/2010, 14h15
  3. Problème affichage : propriété .Text du Combobox
    Par tssi555 dans le forum VB.NET
    Réponses: 9
    Dernier message: 08/08/2008, 10h37
  4. [MySQL] Problème pour insérer les données d'un fichier texte vers une table Mysql !
    Par BARRIAU76 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 31/01/2008, 23h24
  5. Réponses: 2
    Dernier message: 04/06/2007, 15h39

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