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] Application boite de dialogue


Sujet :

MFC

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 116
    Par défaut [MFC] Application boite de dialogue
    Bonjour

    Je fais une application boite de dialogue avec les MFC. L'application commence avec une boite de dialogue mère et je désire afficher dans cette boite de dialogue mère des boites de dialogue filles qui dépendent du contexte. A priori la methode DoModal n'est pas appropriée, car je souhaiterai que ce soit le contenu de la boite de dialogue mère qui change et non qu'une autre boite de dialogue soit affiché par dessus.

    Comment cela est il réalisable (est ce que je dois utiliser une application de type SDI ?) ?

    Merci d'avance.

    PS : je ne suis pas certain d'avoir été clair, si ça n'est pas le cas, demandez et j'essayerai de préciser ma demande.

  2. #2
    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
    Par défaut
    salut
    ce post devrait te convenir:
    http://www.developpez.net/forums/vie...405116#2405116

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 116
    Par défaut
    Merci pour ta réponse rapide.

    Compte tenu du fait que je dois pouvoir utiliser une toolbar n'est il pas préférable que j'utilise une SDI ?

    PS : petite précision : je développe pour windows CE sous EVC++ 4 (peut être que ca a une incidence...)

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 116
    Par défaut
    Je m'appercois que j'ai oublié de préciser que je ne souhaite pas créer dynamiquement les différentes boites de dialogue fille, mais qu'elles seront chargées à partir des ressources

  5. #5
    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
    Par défaut
    si tu dois avoir une toolbar effectivement le SDI est recommandé
    mon post fonctionne aussi dans ce context
    c'est le même principe.

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 116
    Par défaut
    Ok ca marche parfaitement avec les boites de dialogue, je crois que je vais partir là dessus.

    Par contre j'ai un petit soucis avec des controles static text que j'ai sur une de mes dialogues filles:

    j'ai plusieurs controles static text positionnés les uns en dessous des autres du type :

    static text 1\t:
    test\t\t:

    les tabulations sont mises de maniere à ce que les ":" tombent l'un en dessous de l'autre. Dans l'éditeur, ca marche bien, mais une fois compilé à l'execution, les ":" peuvent se retrouver à la ligne du dessous et plus rien n'est aligné...

    Est ce que ce problème vient de cette facon d'afficher les dialogues ?

  7. #7
    Membre expérimenté
    Avatar de Nicolas Bauland
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 119
    Par défaut
    Je pense que ca doit etre du au fait qu'a l'exécution, la police utilisée n'est pas tout a fait la meme

  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
    Par défaut
    Citation Envoyé par Nicolas Bauland
    Je pense que ca doit etre du au fait qu'a l'exécution, la police utilisée n'est pas tout a fait la meme
    il y a des chances ...

  9. #9
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 116
    Par défaut
    J'ai résolu le problème précédent en enlevant les tabulations.

    Il reste néanmoins une chose que je n'ai pas compris dans l'exemple que tu m'as donné.

    Dis moi si je me trompe, mais selon moi, la ligne suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(pClass) pDlg=reinterpret_cast<CDialog *>(pClass->CreateObject());
    permet de prendre en charge les objets de type CMyDialog dérivant de CDialog, non?


    Dans le cas où la dialogue a une classe de type CMyDialog, je crée un membre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CMyDialog *m_loadingDlg;
    Comment fais je pour utiliser la fonction CreatePage() dans ce cas ?

    Merci d'avance.

  10. #10
    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
    Par défaut
    salut,
    comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CMyDialog *m_loadingDlg=static_cast<CMyDialog*>(CreatePage(IDC_CTRL,IDD_MYDLG,RUNTIME_CLASS(CMyDialog)));

  11. #11
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 116
    Par défaut
    J'ai donc utilisé les marcros DECLARE_DYNCREATE et IMPLEMENT_DYNCREATE dans la classe CMyDialog.

    Et en faisant comme tu dis dans ton post précédent

    Malgré cela, j'ai des erreurs à la compilation :

    error C2061: syntax error : identifier 'CreatePage'
    error C2146: syntax error : missing '(' before identifier 'CreatePage'
    error C2143: syntax error : missing ';' before ')'

  12. #12
    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
    Par défaut
    dans mon code j'ai juste mis createpage parce que je ne sais pas comment tu l'a implementé .
    tu peux montrer ta ligne de code ?

  13. #13
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 116
    Par défaut
    Au temps pour moi, j'avais oublié une parenthèse... Quel boulet je fais, je me suis pourtant relu 10 fois

    Merci beaucoup

  14. #14
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 116
    Par défaut
    nouvelle petite question...

    Comment peut on récupérer un pointeur sur la fenetre mère depuis une fenetre fille ? (Dans ce cas précis ou les fenetres filles sont modeless)


    Merci

  15. #15
    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
    Par défaut
    Citation Envoyé par benahpets
    nouvelle petite question...

    Comment peut on récupérer un pointeur sur la fenetre mère depuis une fenetre fille ? (Dans ce cas précis ou les fenetres filles sont modeless)


    Merci
    pour créer la dialogue je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    pDlg->Create(nDialogID,this);
    this represente le parent ..
    donc il suffit de faire GetParent().

Discussions similaires

  1. Aide MFC et boite de dialogue
    Par Gnius dans le forum Visual C++
    Réponses: 2
    Dernier message: 14/11/2007, 08h41
  2. [Irrlicht][MFC] intégration boîte de dialogue
    Par GeMyNy dans le forum Irrlicht
    Réponses: 0
    Dernier message: 05/08/2007, 13h00
  3. [MFC]Bouton "?" pour une application boite dialogu
    Par fleur_de_rose dans le forum MFC
    Réponses: 2
    Dernier message: 23/03/2006, 08h44
  4. [MFC]Application basée sur des boites de dialogue
    Par -=Spoon=- dans le forum MFC
    Réponses: 2
    Dernier message: 24/08/2005, 11h55
  5. [MFC] Evenement 'boite de dialogue active' :s
    Par Guybrush113 dans le forum MFC
    Réponses: 3
    Dernier message: 18/05/2004, 15h26

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