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 :

Comment recuperer une variable d'une autre boite de dialogue?


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre habitu�
    Inscrit en
    Novembre 2008
    Messages
    10
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 10
    Par d�faut Comment recuperer une variable d'une autre boite de dialogue?
    Bonjour,

    J'ai actuellement deux boites de dialogues, j'ouvre une image dans la fen�tre principale et je voudrais r�cup�rer le pointeur de l'image dans la deuxi�me afin de pouvoir faire des traitements.
    Mais je n'arrive pas � transmettre une variable d'une boite � l'autre.
    Les variables sont initialis�es � la fermeture des fen�tres.
    Je pense que le probl�me est relativement simple, mais je ne trouve pas la solution.

    Merci d'avance

  2. #2
    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
    Par d�faut
    Bonjour,
    Quelques informations qui pourront certainement aider � apporter une r�ponse : quel framework utilises-tu pour ton I.H.M. : MFC, Qt, wxWidgets ?
    Quelques �l�ments de conception peuvent aussi �tre utiles. As-tu un pattern M.V.C. ? O� sont tes variables ? Quelle classe a la responsabilit� des pointeurs/handler de ton image ?
    Merci.

  3. #3
    Membre habitu�
    Inscrit en
    Novembre 2008
    Messages
    10
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 10
    Par d�faut
    J'utilise les MFC sur Visual Studio 2008 et j'utilise openCv

    La classe de ma boite principale est Image ,celle de la deuxi�me est binarisation

    Tout d'abord j'aimerais r�cup�rer une simple variable de la premiere boite dans la deuxi�me comme un CString.
    J'ai cr�� un bouton dans ma deuxi�me boite et je voudrais tout d'abord pouvoir r�cup�r� le chemin d'acc�s de l'image qui est une variable membre de la premi�re boite.

    voici le bouton de ma deuxi�me boite:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    void CBinarisation::OnBnClickedButtonClassique()
    {
     
    	CImage Image;
     
    	CString cheminImage=Image.mChemin;
    	MessageBox(test);
     
    	UpdateData(false);
    }
    La boite de dialogue s'affiche mais vide le chemin n'est pas recopi�.

  4. #4
    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
    Par d�faut
    J'imagine que tu dois avoir une classe CDlg1 et une classe CDlg2 ? Trivialement, tu as besoins que Dlg2 (par exemple) connaisse Dlg1 qui contient la donn� � r�cup�rer. Ensuite, tu utilises dans Dlg2 un accesseur pour r�cup�rer la valeur. Mais, l� il nous faudrait au moins la d�claration des 2 bo�tes de dialogue.
    C'est une solution triviale mais pas tr�s propre.

    Id�alement, CDlg1 et CDlg2 sont 'li�es' � un 'Document' qui contient la valeur. Lorsque celle-ci est modifi�e dans CDlg1, cette derni�re met � jour le document et celui-ci notifie toutes les autres vues que le param�tre a chang�. Ensuite, ces autres vues se mettent � jour avec le nouveau param�tre soit en le r�cup�rant depuis le document soit parce qu'il a �t� fourni par la notification de mise � jour. Je te conseil de faire quelques recherches sur le pattern Mod�le/Vue/Contr�leur ou le pattern Observer.

  5. #5
    Membre habitu�
    Inscrit en
    Novembre 2008
    Messages
    10
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 10
    Par d�faut
    Ma premi�re boite s'appelle IDD = IDD_TRAITEMENTDEPHOTOS_DIALOG (classe Image)

    La deuxi�me s'appelle IDD = IDD_BINARISATION_DIALOG (classe Binarisation)

    J'ai d�j� eu ce probl�me l� mais je n'ai jamais r�ussi � le r�soudre. Lors d'un ancien projet je stockais toutes mes variables sur des fichier txt, et je pouvais les utiliser comme je voulais mais cette m�thode est assez contraignante.

  6. #6
    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
    Par d�faut
    Salut,
    Appeler une bo�te de dialogue CImage me parait assez dangereux dans la mesure o� il me semble qu'il existe d�j� une classe de ce nom dans les MFC.
    Peux-tu nous poster les .h de tes 2 classes ?

Discussions similaires

  1. [D�butant] Affecter une variable d'une classe C# � une variable Javascript
    Par SultanGeek dans le forum C#
    R�ponses: 0
    Dernier message: 20/06/2015, 20h42
  2. Recuperer le nom d'une variable dans une variable String
    Par aliwassem dans le forum Langage
    R�ponses: 11
    Dernier message: 23/10/2009, 12h38
  3. R�ponses: 2
    Dernier message: 28/11/2006, 15h20
  4. Comment recuperer la valeur d'une variable de session avec du javascript
    Par pierrot10 dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 08/09/2006, 10h40
  5. R�ponses: 2
    Dernier message: 19/01/2006, 21h59

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