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'un interface a une autre


Sujet :

MFC

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 79
    Points : 34
    Points
    34
    Par défaut passer d'un interface a une autre
    j'eplique mon probleme

    je suis dan l'interface 1 : je clique sur un bouton qui m'ammene a l'interface 2

    dans l'interface 2 : je selectionne un objet je le met en memoire.

    quand je repasse dans l'interface 1 je veut que cette objet soit ecrit dans un champ de l'interface 1.

    donc ce que je veut savoir c'est a quel moment je dois lui dire de remplir le champ.

    j'ai deja essayer de faire interface1::champ = ....

    ou appeler une fonction qui le fasse mais ca marche pas !

  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
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    il faut etre plus precis sur la nature des interfaces !
    voir ce post de la faq pour une boite de dialogue:
    http://c.developpez.com/faq/vc/?page...apOnOKOnDialog

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 79
    Points : 34
    Points
    34
    Par défaut
    se que je veut c'est savoir comment actualisé mon interface1 apres avoir fermer mon interface 2

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    Citation Envoyé par Bason_sensei
    se que je veut c'est savoir comment actualisé mon interface1 apres avoir fermer mon interface 2
    Ce que je veux c'est savoir comment actualiser mon interface 1 après avoir fermé mon interface 2
    Merci de faire un effort sur l'orthographe !

  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
    Points : 17 323
    Points
    17 323
    Par défaut
    si tu ne precices par la nature des interfaces ça va etre dur de t'aider.
    quelles sont les classes de base en actions ? CDialog ,CFormView .
    Suivant les cas les techniques employées ne seront pas les mêmes!
    Je suppose à priori que l’interface 1 peut être une CDialog ou CFormView et
    Que ton interface 2 est une CDialog.
    Si c’est le cas le post de la faq répond au problème.


  6. #6
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 79
    Points : 34
    Points
    34
    Par défaut
    Excuse moi ... oui les 2 formes sont des CDialog
    par contre il faut biendelaré onshowWindows dans class Wizard ?

    ( pour mon ca L'interface 1 ne disparais jamais elle reste derriere)

  7. #7
    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
    Citation Envoyé par Bason_sensei
    Excuse moi ... oui les 2 formes sont des CDialog
    par contre il faut biendelaré onshowWindows dans class Wizard ?

    ( pour mon ca L'interface 1 ne disparais jamais elle reste derriere)
    non c'est un exemple ,tu fais ce que tu veux le sujet n'est pas la .
    il suffit d'acceder apres domodal aux données membre de la Dialogue .



  8. #8
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 79
    Points : 34
    Points
    34
    Par défaut
    Je crois que ma question n'a pas été clair.

    Pour passer d'une interface a une autre, ca je sais le faire.

    Ce que je veut savoir, c'est comment actualiser la 1ere interface en fonction d'un choix sur la 2eme

    Ex :

    1ère interface je clique sur le bouton fournisseur. a ce moment une 2eme interface s'ouvre. Je selectionne un fournisseur et je valide. la 2eme interface se ferme et dans un champ de la 1ere interface s'inscrit le fournisseur choisit, a l'instant ou je ferme la 2eme interface

    voila, la c'est plus claire ^^

  9. #9
    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,
    pour faire cela il faut comprendre comment on travaille avec les controles.
    en sortie de la boite de dialogue tu accedes à la variable CString qui correspond au fournisseur , et tu l'affectes a la variable de ta premiere interface .
    un UpdateData(FALSE) remettant les controles a jour .
    mais pour cela il faut comprendre la technique de mise a jour des controles;
    voir ce post dans le post it faq:
    http://www.developpez.net/forums/vie...883745#1883745

  10. #10
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 79
    Points : 34
    Points
    34
    Par défaut
    donc voila comment j'ai essayé de faire :

    1er interface tous les renseignements avec un bouton fournisseur.
    j'ai ecrit cette fonction :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    void CNewbonpro::Changefour() 
    {
    //v_Four variable global contenant l'info
    //m_four variable d'un champ
    	UpdateData(TRUE);
    	m_numfour = v_Four;
    	UpdateData(FALSE);
    }
    je fait appelle a cet fonctin dans la 2eme interfaces :

    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
    void CListeFour::OnOK() 
    {
    	int n = m_Ctrlfour.GetCurSel();
     
    	if ( n == LB_ERR)
    	{
    		MessageBox(L"Veuillez sélectionner un fournisseur", L"Attention",MB_OK|MB_ICONEXCLAMATION);
    		return;
    	}
     
    	v_Four = m_Valfour;
     
    CNewbonpro::Changefour();
    	CDialog::OnOK();
     
    }

    CNewbonpro::Changefour();
    si le l'ecrit tel qu'il est >>> error C2352: 'CNewbonpro::Changefour' : illegal call of non-static member function

    si j'ecrit :
    Changefour();
    il me dit >>> error C2065: 'Changefour' : undeclared identifier

    donc qu'est qui ne va pas????

  11. #11
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 79
    Points : 34
    Points
    34
    Par défaut
    personne ?

  12. #12
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 79
    Points : 34
    Points
    34
    Par défaut
    Allez !!! SVP aider moi !!!!

    ca fait depuis 10H que j'ai ce pbl !!

  13. #13
    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
    bonsoir,
    tes problemes sont des problemes de C++.
    tu ne peux appeler une methode d'une classe comme tu le fait sauf si celle ci est static ,d'ou l'erreur du compilateur.
    il te faut disposer d'un objet de la classe pour appeler sa méthode.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Newbonpro.Changefour();
    mais ton probleme n'est pas la , malgré toutes les explications précedentes tu n'as toujours pas compris comment récuperer les données d'une dialogue.

    j'ai fais un projet simple qui demontre l'echange de données entre une CFormView et Une CDialogue ,plus que ça je peux pas...

    http://farscape.developpez.com/Sampl...UpdateData.zip


  14. #14
    Membre actif Avatar de Rupella
    Inscrit en
    Février 2005
    Messages
    286
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 286
    Points : 257
    Points
    257
    Par défaut
    je suis d'accord.

    Lors de la creation de la boite 2, tu passes en parametre un pointeur sur l'objet de la boite 1

    Dans (je donne le principe général)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    CMaBoite1::OnBoite2()
    {
       pDlg = new CMaBoite2(this);
       pDlg->DoModal();
    }
    Puis dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    CMaBoite2::CMaBoite2(CMaBoite1 * p) : CDialog(...),
    {
       m_pMonObjSurBoite1 = p;
    }
     
    CMaBoite2::OnChangeFour()
    {
        m_pMonObjSurBoite1->setFour(nouveauFour);
    }

    Et enfin, à la suite du pDlg->DoModal();
    ta variable membre doit être initialisée et donc, tu peux la mettre à jour dans ta boîte 1...

  15. #15
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 79
    Points : 34
    Points
    34
    Par défaut
    Merci bcp tous le monde !!!

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

Discussions similaires

  1. passer de page jsp a une autre avec servlet
    Par ala2a dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 15/03/2011, 14h38
  2. Router d'une interface vers une autre
    Par Michaël dans le forum Réseau
    Réponses: 2
    Dernier message: 27/01/2011, 21h22
  3. Passage de variable d'une interface a une autre guide matlab
    Par nadou114 dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 13/05/2010, 23h33
  4. inserer une interface dans une autre
    Par TaymouWan dans le forum Windows Forms
    Réponses: 4
    Dernier message: 07/04/2009, 13h10
  5. Comment faire passer un menu par dessus une autre frame
    Par barthelv dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/11/2005, 11h03

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