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 :

ouvrir une fenetre secondaire depuis 1 bouton


Sujet :

MFC

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Points : 338
    Points
    338
    Par défaut ouvrir une fenetre secondaire depuis 1 bouton
    bonjour, j'ai une fenetre principal(celle du demarage) qui s'appelle IDD_ACCEUIL et une page secondaire pour réglè certain parametre du programme qui s'appelle IDD_PARAMETRE.

    je veut que, en cliquant sur 1 bouton(s'appelant ici IDC_PARAMETRAGE) il m'affiche la fenetre, la je peut charger des sauvegarde de valeur, sauvegarder, quitter enfin bon ya beaucoup de bouton.

    j'ai fait une recherche sur le forum, divers site et un livre de prog et j'ai vu des infos sur DoModal et dans mon livre il parl ausi de crèè une variable de type CMsgDlg.

    je comprend pas trop les codes alors merci de men donner 1 propre et si c'est pas trop abusè d'expliquer qui fait quoi pour dir de pouvoir l'utilisè meme dans une autre utilisations futur

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 189
    Points : 126
    Points
    126
    Par défaut
    - tu dois associer à ta 2eme fenetre une Classe. (tu peux le faire par le wizard).
    - tu dois ensuite capter le message du clic de ton bouton.
    - Dans la fonction qui capte le message tu crees ta fenetre et tu fais un DoModal.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    CTaDialog *p_Dialog;
    p_Dialog = new CTaDialog ();
    p_Dialog->DoModal();

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Points : 338
    Points
    338
    Par défaut
    j'ai essayè, il compile tout impecable mais quand je clique sur mon bouton il me met un erreur

    juste pour etre sur

    CTaDialog ==> class de ma fenetre (moi j'ai CDialog)
    p_Dialog ==> nom de la fenetre(pour moi CMesInfo)

    sa me donne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CDialog *CMesInfo; 
    CMesInfo = new CDialog (); 
    CMesInfo->DoModal();
    et dans l'erreur il me dit juste que sa marche pas, je peut abandonner, ignorè, reessayè

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 189
    Points : 126
    Points
    126
    Par défaut
    Nanana !!!!

    CTaDialog -> C'est la classe de ta 2eme fenetre (classe que tu as declare avec le wizard)

    p_Dialog -> c'est juste le nom que toi tu donnes a la variable.


  5. #5
    Membre éprouvé
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Points : 1 128
    Points
    1 128
    Par défaut
    A voir le code, on imagine que tu débutes.

    Est-ce que tu as associé une classe de dialogue à IDD_PARAMETRE, j'imagine "CMesInfo"
    Si c'est le cas, fait un double click sur le bouton IDC_PARAMETRAGE
    Et dans la fonction associée tu met le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CMesInfo dlg;
    dlg.DoModal();

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 189
    Points : 126
    Points
    126
    Par défaut
    mmmmhhhh jolie tournure qui explique plus clairement:-)


  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Points : 338
    Points
    338
    Par défaut
    désolè de vous embetter mais sa marche pas....

    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    void CVendetta_fenApp::OnMesInfos() 
    {
    CMesInfos = *p_Dialog;
    p_Dialog = new CMesInfos;
    p_Dialog->DoModal();
    }
    il me dit 102 fois qu'il manque ; devan }
    D:\Programmes\VisualStudio\MSDev98\MyProjects\Vendetta_fen\Vendetta_fen.cpp(80) : error C2143: syntax error : missing ';' before '}'
    D:\Programmes\VisualStudio\MSDev98\MyProjects\Vendetta_fen\Vendetta_fen.cpp(80) : error C2143: syntax error : missing ';' before '}'
    D:\Programmes\VisualStudio\MSDev98\MyProjects\Vendetta_fen\Vendetta_fen.cpp(80) : error C2143: syntax error : missing ';' before '}'
    D:\Programmes\VisualStudio\MSDev98\MyProjects\Vendetta_fen\Vendetta_fen.cpp(80) : fatal error C1003: error count exceeds 100; stopping compilation
    Error executing cl.exe.

    Vendetta_fen.exe - 102 error(s), 0 warning(s)

    et avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CMesInfo dlg; 
    dlg.DoModal();
    il me dit
    ompiling...
    Vendetta_fen.cpp
    D:\Programmes\VisualStudio\MSDev98\MyProjects\Vendetta_fen\Vendetta_fen.cpp(77) : error C2065: 'CMesInfos' : undeclared identifier
    D:\Programmes\VisualStudio\MSDev98\MyProjects\Vendetta_fen\Vendetta_fen.cpp(77) : error C2146: syntax error : missing ';' before identifier 'dlg'
    D:\Programmes\VisualStudio\MSDev98\MyProjects\Vendetta_fen\Vendetta_fen.cpp(77) : error C2065: 'dlg' : undeclared identifier
    D:\Programmes\VisualStudio\MSDev98\MyProjects\Vendetta_fen\Vendetta_fen.cpp(78) : error C2228: left of '.DoModal' must have class/struct/union type
    Error executing cl.exe.

    Vendetta_fen.exe - 4 error(s), 0 warning(s)

    j'ai tout refait pour etre sur de se que j'ai mis.
    j'ai donc crèè ma 2ème fenetre(clique droit->new dialog) puis je met tout mes bouton et autre.
    je lance le wizzard, il me demande de crèè une classe je la crèè sous le nom de CMesInfos de type CDialog.
    je met le code precedent dans le bouton(sur la fenetre 1) qui lanceras l'affichage de la fenetre 2.

    je comple et voila....

    merci de votre aide

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Points : 338
    Points
    338
    Par défaut
    juste pour dir que on m'as aider et voila se que sa a donnè

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CDialog FenetreMesInfos(IDD_MES_INFOS);
    FenetreMesInfos.DoModal();
    sa marche impect merci a tous

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

Discussions similaires

  1. ouvrire une fenetre suite a un clic sur un bouton
    Par jeune informatique dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 02/06/2010, 13h27
  2. ouvrir une fenetre avec un bouton
    Par saucisse17 dans le forum Agents de placement/Fenêtres
    Réponses: 6
    Dernier message: 06/02/2010, 18h03
  3. [AC-2003] Ouvrir une autre base depuis un bouton sur formulaire
    Par Bernard67 dans le forum VBA Access
    Réponses: 2
    Dernier message: 07/05/2009, 13h38
  4. Réponses: 3
    Dernier message: 21/08/2006, 11h01
  5. [Eclipse 3.1] ouvrir une fenetre avec un bouton
    Par Nanoulov dans le forum SWT/JFace
    Réponses: 4
    Dernier message: 01/08/2005, 13h33

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