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

MFC Discussion :

[MFC] ouverture de fenetre


Sujet :

MFC

Vue hybride

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 142
    Par défaut [MFC] ouverture de fenetre
    bonjour,

    J'ai voulu ouvrir une boite de dialogue renseignant l'utilisateur...
    Pour cela, aucun problème ..
    or, le code qui suit ne s'éxécute pas, ce que je ne comprend pas ...

    Voila comment j'ouvre ma fenetre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    {
     CActuaCoursDlg actua;
     actua.DoModal();
    }
    Ensuite, viens un switch case me permettant, suivant le case, de fermer et d'ouvrir une nouvelle fenêtre ...

    Si quelqu'un a des suggestions ...

    Merci

  2. #2
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    t'as oublier de la creer
    regarde du coté de CDialog::create

  3. #3
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    Citation Envoyé par hiko-seijuro
    t'as oublier de la creer
    regarde du coté de CDialog::create
    ben non pas besoin d'appeler Create ici.

  4. #4
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    ah vi c'est un doModal chuis con

  5. #5
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    salut,

    le code qui suit le DoModal() ne s'exécutera que lorsque la fenêtre actua aura été fermé.

    mets nous un peu plus de code pour qu'on voit ce que tu fais.


  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 142
    Par défaut
    LA fenetre s'ouvre s'en aucun probleme, mais effectivement, tant que je ne l'es pas refermé, le code qui la suit ne s'execute pas !

    voici le 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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    {
     char CMD[] = {"\r"};// variable stockant la commande. parametre de la fonction de sandrine
     int erreur;   // variable stockant le code d'erreur retourner par la fct récupération
     char buff[200]; // tableau de caractère permettant le stockage de la ligne 
    {
     CActuaCoursDlg actua;
     actua.DoModal();
    }
     // fonction de Récupartion
     // à implémenter
     erreur = 0;   // affectation d'une valeur pour tester le switch case
    
     switch (erreur)
     {
      case 0 : // ce qui doit ce passer
       {
        // fermer la popup 
        // lecture du fichier contenant le nom des fichiers :
        ifstream infile("liste"); // ouverture du fichier liste.txt
        //while(!infile.eof()) si plusieurs ligne dans le fichier, faire une boucle
        infile.getline(buff, sizeof(buff)); //lecture d'une ligne complete
        infile.close();
    
        // affichage du fichier dans la zone d'édition
        CString s(buff), s2("il y a ");   
        s.Replace(":"," fichiers présents :\r\n\r\n");  // change les ":" par la chaine avec un retour chariot + nvlle ligne
        s.Replace(",","\r\n");  // change les "," par des retour chariot + nvlle ligne
        s2 += s;
        m_edit.SetWindowText(s2); // affiche le contenu de s
       break;
       }
      case 1 : 
       {
    // fermer la popup
          //ouvrir une new fenetre
       }
      
     }
    }
    voili ....

  7. #7
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    Si tu veux que la suite du code s'exécute dans la foulée sans avoir besoin de fermer "actua", il faut l'ouvrir en modeless, et non en modal.

    par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CActuaCoursDlg * actua= new CActuaCoursDlg(...);
    actua->Create(...);
    actua->ShowWindow(SW_SHOW);

    voilou...

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 142
    Par défaut
    Après avoir réfléchi sur ce que tu a posté, je reviens toujours à la même chose, que faut t'il mettre à la place des (...) ?

    Je suis débutant, je comprend pas tout

    Merci de m'éclairer

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 142
    Par défaut
    voili, j'ai trouvé !

    Si jamais quelqu'un est dans le besoin, je met le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    {
    CActuaCoursDlg * pactua= new CActuaCoursDlg(this);
    pactua->Create(CActuaCoursDlg::IDD);
    pactua->ShowWindow(1);
    }
    Voili !

    a oui, une dernière, en ce qui concerne la fermeture de cette dialogue, je fait comment ?

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

Discussions similaires

  1. ouverture de fenetre
    Par hunter dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 16/06/2004, 16h34
  2. [MFC] ouverture en lecture d'un fichier inexistant
    Par bigboomshakala dans le forum MFC
    Réponses: 9
    Dernier message: 07/05/2004, 12h42
  3. [MFC] Maximiser à l'ouverture une fenetre fille !
    Par leskritiques dans le forum MFC
    Réponses: 15
    Dernier message: 28/04/2004, 08h50
  4. Réponses: 3
    Dernier message: 03/02/2004, 17h34
  5. Réponses: 6
    Dernier message: 27/01/2004, 16h08

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