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 :

Création d'une boîte de dialogue non modale


Sujet :

MFC

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 94
    Points : 59
    Points
    59
    Par défaut Création d'une boîte de dialogue non modale
    Bonjour,

    Comment peut-on ouvrir une boîte de dialogue non modale à partir d'une boîte de dialogue modale ?

    Le code suivant passe à la compilation+link sans erreur mais la boîte de dialogue appelée n'est pas visible à l'exécution .

    CConfig* dlgConfig;
    dlgConfig= new CConfig;
    dlgConfig->Create(IDD_CONFIG_DIALOG,this)

    Ceci se passe dans une application MFC type boîte de dialogue.
    La boîte de dialogue créée par l'application est modale.
    La solution est-elle, peut-être, de modifier le code pour qu'elle soit elle-même non modale mais je n'ai pas réussi à le faire, étant un amateur.

    Par expérience je sais qu'on peut appeler une boîte de dialogue non modale depuis une boîte de dialogue non modale ....

  2. #2
    Membre régulier Avatar de Philippe320
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 179
    Points : 99
    Points
    99
    Par défaut
    Salut,
    je pense qu'il faut l'afficher !
    pour l'instant, tu n'as fait que la créer

    essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    dlgConfig->ShowWindow(SW_SHOW);
    Philippe

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 94
    Points : 59
    Points
    59
    Par défaut
    Merci Philippe320,
    Ca marche.
    Ca doit être ALZEIHMER qui frappe à la porte....

  4. #4
    Membre régulier Avatar de Philippe320
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 179
    Points : 99
    Points
    99
    Par défaut
    bientôt, bientôt
    seulement, il manque une fonction DoNonModal() dans la classe pour être cohérent.

    A+
    Philippe

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2008
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    Je me permets d'ajouter un commentaire. J'avais le même problème avec une boite non modale que je voulais afficher. Cependant mon problème n'est pas résolu. Lorsque je demande l'affichage de la boite elle s'efface aussi vite qu'elle ne s'affiche. J'ai bidouillé beaucoup de choses mais rien n'y fait. Un petit coup de main ne serait pas de refus.

  6. #6
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    le mieux étant de poster un nouveau post sur le sujet avec le code joint (en utilisant les balises de code).
    notamment sur la fonction OnInitDialog.
    dans ce genre de contexte le mode trace debug est utile en mettant des points d'arrêts pour essayer de comprendre ce qui se passe...

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2008
    Messages : 20
    Points : 15
    Points
    15
    Par défaut Merci probleme resolu
    J'ai entre temps résolu mon problème. Il y aura un nouveau post, mais sur mon nouveau problème !
    En fait je me suis fait avoir par quelque chose que je ne comprends pas vraiment :
    simBaseDlg = new CDialogSimBase();
    simBaseDlg->Create(IDD_DIALOG_SIM_BASE);
    ... fonctionne

    CDialogSimBase simBaseDlg;
    simBaseDlg.Create(IDD_DIALOG_SIM_BASE);
    ... ne fonctionne pas !

    Mais bon je viens tout juste de m'y remettre, c'est normal qu'il y ait des points obscurs.

  8. #8
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    hé bien c'est normal !
    dans le deuxième cas quand l'objet sort de sa portée il est détruit et la fenêtre avec ....
    d'où l'utilisation de pointeur pour les boites non modale, ou alors d'une variable dont la portée n'est pas réduite.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2008
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    Exact. Merci pour ces infos et pour les tutos que j'ai trouvé et qui sont vraiment bien faits. Je viens de poster un autre message comme conseillé : MFC / SDI - Boite de dialogue non-modale et message privé.

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

Discussions similaires

  1. Paramètres d'une boîte de dialogue non-standard
    Par auguste19 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 09/06/2011, 01h14
  2. Réponses: 4
    Dernier message: 18/02/2007, 22h29
  3. [VBA-Excel] Création d'une boîte de dialogue interactive
    Par ash_rmy dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 28/07/2006, 11h55
  4. OpenGL et boîte de dialogue "non-modal"
    Par Gerber samuel dans le forum OpenGL
    Réponses: 1
    Dernier message: 27/02/2006, 23h49
  5. Réponses: 8
    Dernier message: 11/10/2005, 16h15

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