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 :

passer d'une form a une autre


Sujet :

MFC

  1. #1
    Membre averti
    Inscrit en
    Avril 2002
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 39
    Par défaut passer d'une form a une autre
    j'ai une forme qui contient un boutton OK.
    en appuyant sur le boutton OK je veux passer a une autre forme
    comme faire??

    Merci pour tout aide

  2. #2
    Membre éclairé Avatar de torNAdE
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 255
    Par défaut
    Salut,
    Pour commencer, Supposons ke t'a appelé ton programme comme suit "PROG".
    Alors
    1 ere etape Dans CPROGDoc tu ajoute une fct memebre de type BOOL est le nom comme suit Switch(CRuntimeClass *pNewViewClass)
    apres pour le code a y ajouter c simple :
    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
    27
    28
    29
    30
    31
     
    BOOL CPROGDoc::Switch(CRuntimeClass *pNewViewClass)
    {
       CFrameWnd* pMainWnd = (CFrameWnd*)AfxGetMainWnd();
       CView* pOldActiveView = pMainWnd->GetActiveView();
     
       // If we're already displaying this kind of view, no need to go further.
       if (pOldActiveView->IsKindOf(pNewViewClass))
          return TRUE;
     
       ::SetWindowLong(pOldActiveView->m_hWnd, GWL_ID, 0);
     
       CCreateContext context;
       context.m_pNewViewClass = pNewViewClass;
       context.m_pCurrentDoc = this;
       CView* pNewView = STATIC_DOWNCAST(CView, pMainWnd->CreateView(&context));
     
       if (pNewView != NULL)
       {
          // the new view is there, but invisible and not active...
          pNewView->ShowWindow(SW_SHOW);
          pNewView->OnInitialUpdate();
          pMainWnd->SetActiveView(pNewView);
          pMainWnd->RecalcLayout();
     
          // destroy the old view...
          pOldActiveView->DestroyWindow();
          return TRUE;
       }
    return FALSE;
    }
    est ensuite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    void CPROGView::OnOK() 
    {
    	// TODO: Add your control notification handler code here
    	CRuntimeClass* pNewViewClass =RUNTIME_CLASS(CSupView);
        if (!(m_Doc.Switch(pNewViewClass)))
    	   ;
          // echec
       else
    	   ;
          // succe	
    }
    sans oublier d 'ajouter une variable membre de type CPROGDoc .
    pour mon exple la variable est m_Doc definit ds CPROGView (la forme ds la quelle tu clique sur ok )

    j espere avoir bien t'aider.
    Voila c tt ce que je peux te dire

  3. #3
    Membre averti
    Inscrit en
    Avril 2002
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 39
    Par défaut
    j'ai suivi les instructions que vous m'avez donnée mais apres compilation
    j'ai les erreurs suivantes:


    Compiling...
    PROGView.cpp
    C:\Documents and Settings\Amine Bartaguiz\Bureau\TESTA\PROG\PROGView.cpp(36) : error C2248: 'CPROGDoc::CPROGDoc' : cannot access protected member declared in class 'CPROGDoc'
    c:\documents and settings\amine bartaguiz\bureau\testa\prog\progdoc.h(16) : see declaration of 'CPROGDoc::CPROGDoc'
    C:\Documents and Settings\Amine Bartaguiz\Bureau\TESTA\PROG\PROGView.cpp(124) : error C2653: 'CSupView' : is not a class or namespace name
    C:\Documents and Settings\Amine Bartaguiz\Bureau\TESTA\PROG\PROGView.cpp(124) : error C2065: 'classCSupView' : undeclared identifier
    Generating Code...
    Compiling...
    PROG.cpp
    Generating Code...
    Error executing cl.exe.

    PROG.exe - 3 error(s), 0 warning(s)

  4. #4
    Membre éclairé Avatar de torNAdE
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 255
    Par défaut
    comme j ai constate vs aver copier la classe ke je ta i donnée juste a titre d'exple.

    voila , ds mon exple le nom de mon programme est PROG dc cchaque fois que tu trouve PROG tu le remplace par tle nom de ton proramme.
    ok
    si tu a d' autres erreurs je suis tjrs ici ok.

  5. #5
    Membre averti
    Inscrit en
    Avril 2002
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 39
    Par défaut
    j'ai ouvert un nouveau projet dont le nom est prog et j'ai eu les erreurs que j'ai ecrit la haut

  6. #6
    Membre éclairé Avatar de torNAdE
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 255
    Par défaut
    aussi autre chose
    pour les acces de protection veuillez rendre ds tes fichiers ".h" exple pour PROGDoc.h
    chaque fois que tu trouve protected remplace la par public:

    mais bon ma solution n'est pas tres securise car j'ai elliminer l'aspect protected.

  7. #7
    Membre averti
    Inscrit en
    Avril 2002
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 39
    Par défaut
    merci de m'avoir aidé j'ai resolu le pb ca marche merci ...

  8. #8
    Membre éclairé Avatar de torNAdE
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 255
    Par défaut
    alors yoyothebest, ca va ou tu n' a pas voulu aborder ma solution
    mais bon au moins j ai essaye.

    :o

  9. #9
    Membre éclairé Avatar de torNAdE
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 255
    Par défaut
    De rien tout le plaisir est pour moi ..

    Thx ya weld Bladi .Bonne chance pour le reste de votre application

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

Discussions similaires

  1. passer une variables d'une forme a une autre
    Par levasseur62 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 11/01/2011, 09h40
  2. Réponses: 6
    Dernier message: 10/06/2010, 15h31
  3. CF 1.0 modifier une valeur d'une form a une autre
    Par maxmarie dans le forum Windows Mobile
    Réponses: 2
    Dernier message: 11/09/2007, 18h09
  4. Passer une variable d'une form a l'autre
    Par 6BORG dans le forum Delphi
    Réponses: 3
    Dernier message: 19/08/2006, 17h15
  5. Réponses: 3
    Dernier message: 16/01/2006, 16h02

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