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 :

Mainframe/SDI ; insérer boite de dialogue dans mainframe


Sujet :

MFC

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 30
    Points : 16
    Points
    16
    Par défaut Mainframe/SDI ; insérer boite de dialogue dans mainframe
    Bonjour,
    Actuellement, j'ai une appli avec une Mainframe et quand on clique sur une icône du menu, il y a une boite de dialogue qui apparait!
    Je voudrais en fait que cette boite de dialogue soit intégrée à la Mainframe.

    Au final, je ne veux plus de boite de dialogue mais uniquement la mainframe mais c'est le contenu de la mainframe qui change.

    Est ce que vous pourriez me donner quelques indications pour effectuer cela?
    Merci par avance
    Clem

  2. #2
    Membre éprouvé
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Points : 1 067
    Points
    1 067
    Par défaut
    Difficile de te répondre comme ça...
    Précise ta pensée quand tu parles d'intégrer une boîte de dialogue à une frame:
    • Quel type de modifications tu veux mettre en place dans ta MainFrame à la place de l'affichage de la boîte de dialogue?
    • Quel est le contenu de la boite de dialogue que tu veux supprimer?
    • Y-a-t-il déjà des éléments dans la MainFrame?
    Essaye d'être plus précis dans ta démarche, quitte à montrer des captures de ce que tu as pour expliquer ce que tu voudrais...

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 30
    Points : 16
    Points
    16
    Par défaut précisions
    ok je vais essayé d'être plus précis
    merci de ton aide tout d'abord

    Quand l'appli s'exécute, il y a une image dans la mainframe avec un menu
    quand on clique sur l'un des "boutons" du menu, il y a une boite de dialogue qui s'ouvre avec du contenu.
    je ne trouve pas ça très propre alors à la place, je voudrais :
    Quand on lance le *.exe, on a la mainframe qui apparait avec l'image en arrière plan et le menu.
    Ensuite, quand je clique sur le bouton du menu, je ne veux plus que la boite de dialogue s'ouvre mais que le contenu qu'il y avait dans cette boite de dialogue remplace mon image dans la mainframe.
    Donc il n'y a plus de boite de dialogue mais une mainframe toute propre

    J'espère que je suis + clair... peut être pas encore tout à fait
    A+
    Clem

  4. #4
    Membre éprouvé
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Points : 1 067
    Points
    1 067
    Par défaut
    Citation Envoyé par clem86 Voir le message
    quand on clique sur l'un des "boutons" du menu, il y a une boite de dialogue qui s'ouvre avec du contenu.
    Quel est ce contenu?
    Pour l'affichage dans ta frame, tu peux construire ton contenu à l'avance et tu le manipules à coups de Show() ou Hide(). Au moment du clic, tu auras alors:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    mon_image.Hide();
    mon_contenu.Show();

  5. #5
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Tu peux utiliser une CFomView pour avec un contrôle static pour ton image de début et les autres contrôles de ta boîte de dialogue. Ensuite, tu fais comme spoutspout: afficher l'une et cacher les autres, puis cacher l'une et afficher les autres.

  6. #6
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    Voici en pièces jointes la mainframe et la dialogbox (en simplifié) qui apparait lorsqu'on clique sur programmer
    Et dans la diolog box lorsqu'on appuie sur OK ça sauvegarde le mot de passe et le numéro de téléphone
    Je vais approfondir vos indications
    merci bcp!!
    si vous avez d'autres indications, faites moi part, je suis très intéressé
    Images attachées Images attachées   

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 30
    Points : 16
    Points
    16
    Par défaut CDialog --> CFormView
    Re-Bonjour,
    Comment est ce qu'on peut convertir une boite de dialogue en FormView?
    Remplacer CDialog par CFormView ne suffit pas car certaines méthodes appartiennent à la classe CDialog mais n'appartiennent pas à la classe CFormView :
    'OnInitDialog' : is not a member of 'CFormView'
    error C2039: 'OnOK' : is not a member of 'CFormView'
    Avez vous besoin d'autres précisions?

    Merci par avance
    Clem

  8. #8
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    CDialog::OnInitDialog -> CFormView::OnInitialUpdate
    Pour le OnOK, il faut que tu le rajoute explicitement dans ta CFormView:
    .h:
    afx_msg void OnOK();
    dans .cpp:
    ON_COMMAND(IDOK, OnOK)
    et l'implémentation.

  9. #9
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    Merci pour votre aide!

    je n'avais pas vu mais il y a également DoModal qui n'existe pas pour la FormView.
    Par quoi est ce que je peux la remplacer?

    La méthode CDialog::OnOK() correspond à :
    -la fermeture de la boite de dialogue
    -puis CDialog:oModal() est effectuée

    Après avoir cliqué sur le bouton OK, je dois cacher la formview (avec quelle fonction?hide?)et afficher autre chose avec show?
    Je ne vois pas comment procéder...
    pouvez vous m'aider?
    Merci par avance
    Clem

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

Discussions similaires

  1. export d'un message de boite de dialogue dans excel
    Par piere42 dans le forum VBA Access
    Réponses: 1
    Dernier message: 10/03/2009, 11h52
  2. Réponses: 4
    Dernier message: 27/02/2009, 13h24
  3. Réponses: 11
    Dernier message: 06/05/2008, 17h53
  4. boite de dialogue dans asp.net
    Par IcedLand dans le forum ASP.NET
    Réponses: 5
    Dernier message: 20/09/2007, 18h57
  5. Réponses: 5
    Dernier message: 27/03/2006, 10h29

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