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 :

[Visual C++][MFC]Affichage dans un Edit Control a partir d'une function hors class


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 58
    Par défaut [Visual C++][MFC]Affichage dans un Edit Control a partir d'une function hors class
    Bonjour a tous,

    Voila j'ai une variable CEdit m_Edit1 associée a un Edit Control. Je veux faire un truc du style :

    void Display(void)
    {
    m_Edit.SetWindowText("he");
    UpdateData(FALSE);
    }
    Mais je ne peux pas car ma fonction ne connait pas m_Edit. Il ne connait pas non plus UpdateData(FALSE).

    Comment faire ????

    Merci

  2. #2
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 290
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    comment as-tu créé ton CEdit?
    Peux-tu nous donner le code du .h de la classe qui contient ce CEdit?

  3. #3
    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
    salut,
    pour utiliser des données membres ou methodes d'un objet hors classe il faut disposer d'un pointeur sur l'objet.
    genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    void Display(void)
    {
    pMyDlg->m_Edit.SetWindowText("he");
    pMyDlg->UpdateData(FALSE);
    }
    mais bon ce genre de chose devrait etre reservé a des threads ou des fonctions statiques a la classe...
    en dehors de ces cas, ton design n'est pas bon...

  4. #4
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 58
    Par défaut
    j'ai simplifié le probleme mais en effet c'est pour une thread.
    Je test et te donne la réponse...
    merci

  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
    Par défaut
    alors si c'est pour un thread consulte la faq....
    http://c.developpez.com/faq/vc/?page...d#WorkerThread

  6. #6
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 58
    Par défaut
    Je travail sous VS 2003.
    j'ai généré mon m_Edit a partir de mon "add member variable wizard" en cliquant sur mon control.
    Cela m'a donc généré dans mon xxxView.h :

    public:
    CEdit m_Edit;


    Et dans mon xxxView.cpp :

    DDX_Control(pDX, IDC_EDIT1, m_Edit);

    En créant une variable global:

    static CEdit* Edit1;

    et en écrivant:

    Edit1->m_Edit.SetWindowText("he");
    Edit1->UpdateData(FALSE);


    Cela me génere l'erreur suivante :

    m_Edit is not a member of 'CEdit'
    SetWindowTextA must have a class/struct/union type


    Pourtant mon m_Edit est bien de type CEdit.
    La commande Edit1->UpdateData(FALSE); fontionne parcontre

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

Discussions similaires

  1. Affichage dans un Picture control ?
    Par faroukus dans le forum OpenCV
    Réponses: 2
    Dernier message: 25/08/2008, 09h11
  2. Problème d'affichage dans un Edit Text
    Par Constant_Conbustion dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 12/05/2008, 11h38
  3. [MFC] Affichage dans un textbox
    Par Copernic09 dans le forum MFC
    Réponses: 7
    Dernier message: 07/12/2007, 13h22
  4. texte dans un edit control
    Par boboz2 dans le forum MFC
    Réponses: 1
    Dernier message: 14/08/2007, 16h22
  5. [mfc] affichage dans une boite de dialog
    Par chronos dans le forum MFC
    Réponses: 3
    Dernier message: 14/06/2004, 15h12

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