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 :

changement de vue


Sujet :

MFC

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Par défaut changement de vue
    Bon apres que l'on est detourné ma discusion pour un sondage sur l'utilisation des assistants sans répondre vraiment a mon probleme .

    Je crée une autre discussion.
    voila maintenant j'ai crée un formulaire . Et ce que je voudrai faire c'est lorsque je clique sur un bouton cela affiche un autre formulaire.

  2. #2
    Membre confirmé Avatar de riadh_ado
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Avril 2006
    Messages : 90
    Par défaut fonction SelectView
    vous aves 2 forms(CVeiw ou autres) (un exple CEssaiView et CNewView) pour changer d'une vue a une autre, pour moi je decalare une fonction SelectView dans le CMainFrame et pour les deux button de CEssaiView et CNewView:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void CEssaiView::OnChangeVue()///Lorsque tu clique sur ta button
    {
    // TODO: Add your control notification handler code here
    ((CMainFrame*)GetParentFrame())->SelectView(1);
    }
    et pour l'autre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void CNewView::OnRetourVue()
    {
    // TODO: Add your control notification handler code here
    ((CMainFrame*)GetParentFrame())->SelectView(2);
    }
    et la fonction SelectView
    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
    void CMainFrame::SelectView(UINT ViewID)
    {
    CView* pOldActiveView= GetActiveView();
    CView* pNewActiveView;
    switch(ViewID)
    {
    case 1:
    pNewActiveView = (CView*)new CNewView();
    break;
    case 2:
    pNewActiveView = (CView*)new CEssaiView();
    break;
    default:
    AfxMessageBox("Identificateur de vue invalide");
    return;
    }
    pNewActiveView->Create(NULL, NULL, 0L, CFrameWnd::rectDefault, this,
    ViewID, NULL);
    SetActiveView(pNewActiveView);
    pOldActiveView->ShowWindow(SW_HIDE);
    pNewActiveView->ShowWindow(SW_SHOW);
    pOldActiveView->SetDlgCtrlID(m_CurrentViewID);
    pNewActiveView->SetDlgCtrlID(AFX_IDW_PANE_FIRST);
    m_CurrentViewID = ViewID;
    RecalcLayout();
    }

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Par défaut
    merci bien riadh_ado.

    Mais ton code oblige a mettre les constructeurs des vues en public.
    y'a t il moyen de faire autrement sans changer la visibilité de ces constructeurs

  4. #4
    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
    pour répondre il faudrait connaitre le type de projet généré :
    Boîte de dialogue ?
    SDI ?
    MDI ?

    pour les deux premiers, par les moyens standards tu ne peux appeler qu'une boite de dialogue.

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Par défaut
    c'est un SDI

  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
    Par défaut
    alors un simple boîte de dialogue peut faire l'affaire ,
    tu as l'exemple dans mon tuto sur le bouton avancé j'ouvre une boîte de dialogue.

  7. #7
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Par défaut
    oui peut etre mais en fait j'aimerai ne pas avoir une fenetre de dialogue. Mais bon c'est peut etre pas possible autrement.

    sinon est ce que ca gene vraiment de mettre le constructeur en public?

  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
    ta dialogue peut etre non modale.
    sinon tu t'es trompé de projet il fallait générer un projet MDI.

  9. #9
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Par défaut
    je ne suis pas sur que ce soit un projet MDI qu'il me faut.

    Car le but est de passer d'une fenetre a une autre pas d'en ouvrir plusieurs à la fois.

    Je me trompe peut etre je suis encore un débutant en MFC .

  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
    avec les deux ouvertes en même temps ou la deuxieme doit etre refermée ?

  11. #11
    Membre confirmé Avatar de riadh_ado
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Avril 2006
    Messages : 90
    Par défaut MDI ou SDI
    Dans un projet MDI tu peut ouvrir et fermer n'importe quelle fenetre (tu peut avoir qu'une seul fenetre ouvert a la fois d'ailleur le code que je te donné il ne fonctionne que dans un projet MDI (pas SDI ou autre "je parle selon l'architecture standard de Viusal C++"). En tout il est preferable que tu chosisit un projet MDI que SDI. bon courage et A+

  12. #12
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Par défaut
    merci je crois que maintenant je vois comment faire

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

Discussions similaires

  1. Changement de vue
    Par roubi dans le forum Développement Sharepoint
    Réponses: 0
    Dernier message: 17/08/2011, 14h53
  2. [MonoTouch] Changement de vue
    Par Spaeda dans le forum Apple
    Réponses: 1
    Dernier message: 05/11/2009, 09h30
  3. Changement de vue dans une perspective.
    Par tatemilio2 dans le forum Eclipse Platform
    Réponses: 9
    Dernier message: 24/11/2007, 16h12
  4. [MFC]Problème au changement de vue
    Par NaZtY dans le forum MFC
    Réponses: 2
    Dernier message: 24/05/2007, 19h16
  5. Application SWING / changement de vue
    Par herbert8 dans le forum AWT/Swing
    Réponses: 14
    Dernier message: 22/02/2007, 00h36

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