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 r�cup�rer les valeurs d'un champ..


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2011
    Messages
    6
    D�tails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 6
    Par d�faut Comment r�cup�rer les valeurs d'un champ..
    Bonjour � tous,
    Je d�bute sur les MFC de Visual C++ et j�ai t�l�charger le tutoriel disponible sur ce site (MFC C++ 2008).

    J�ai cr�e une boite de dialogue simple avec une zone de saisie.
    J�ai affect� � cette zone une variable Cedit que j�ai appel� m_EChamp ET une variable CSting m_SChamp.

    Mon probl�me est le suivant :
    Je n�arrive pas � r�cup�rer le contenu de ce champ!

    J�ai �ssay� avec les instructions :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    m_EChamp.GetWindowText(m_EChamp) ;
    GetDlgItem(IDC_EDIT)->GetWindowText(m_EChamp) ;
    m_EChamp reste toujours vide.
    Pouvez-vous m�aider ?

  2. #2
    Membre �prouv�
    Avatar de TheGzD
    Homme Profil pro
    Ing�nieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Puy de D�me (Auvergne)

    Informations professionnelles :
    Activit� : Ing�nieur/ Docteur en Informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par d�faut
    Euh ... en effet �a ne risque pas de faire quoi que ce soit avec ce code ...

    Il faudrait commencer par savoir ce que tu veux faire ?
    1) r�cup�rer ce qui est tap� dans le CEdit et le transf�rer dans le CString ?
    ou 2) injecter le contenu du CString dans le CEdit ?

    Dans le 1er cas (sous r�serve de cr�ation/initialisation correcte) :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    m_EChamp.GetWindowText(m_SChamp) ;
    Dans le 2�me cas (sous r�serve de cr�ation/initialisation correcte) :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    m_EChamp.SetWindowText(m_SChamp) ;

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2011
    Messages
    6
    D�tails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 6
    Par d�faut
    C'est justement l'instruction que j'utilise mais il ne r�cup�re rien.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    m_EChamp.GetWindowText(m_SChamp) ;

  4. #4
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 504
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 504
    Par d�faut
    Ca existe plus les DDX/DDV dans les MFC ?

    Il y a tr�s tr�s longtemps, il suffisait d'un bon Wizard, de cr�er des variables avec et un appel � UpdateData(TRUE) ou UpdateData(FALSE) et par magie le contr�le et la variable �taient synchronis�s.

    Mais maintenant, c'est plus moderne, il faut tout faire � la main.

    Moi, je dis �a, moi je dis rien.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mars 2011
    Messages
    6
    D�tails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 6
    Par d�faut
    Exact j'ai ce code d�clar� aussi dans le source.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void CDlgAdvanced::DoDataExchange(CDataExchange* pDX)
    {
    CDialog::DoDataExchange(pDX);
    DDX_Check(pDX, IDC_CHECK1, m_Check1);
    DDX_Text(pDX, IDC_EDIT, m_SChamp);
    DDV_MaxChars(pDX, m_SChampp, 10);
    DDX_Control(pDX, IDC_EDIT, m_EChamp);
    DDX_Control(pDX, IDC_COMBO1, m_ComboSetSport);
    	}
    Merci de m'aider

  6. #6
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 504
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 504
    Par d�faut
    Il faut donc juste appeler UpdateData(TRUE) pour que m_EChamp et m_SChamp soient initialis�s avec les valeurs courantes des objets de la bo�te de dialogue.

    http://msdn.microsoft.com/fr-fr/libr...(v=vs.80).aspx

Discussions similaires

  1. R�ponses: 5
    Dernier message: 20/12/2013, 21h23
  2. R�ponses: 1
    Dernier message: 11/09/2013, 10h44
  3. R�ponses: 6
    Dernier message: 21/12/2009, 11h08
  4. R�ponses: 2
    Dernier message: 11/12/2006, 12h38
  5. R�ponses: 7
    Dernier message: 15/09/2005, 06h37

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