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

Visual C++ Discussion :

initialisation d'une combobox dans Visual Studio 2012


Sujet :

Visual C++

  1. #1
    Membre averti
    Inscrit en
    Juillet 2012
    Messages
    19
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 19
    Par d�faut initialisation d'une combobox dans Visual Studio 2012
    Bonjour,
    J'ai instanci� une Combobox dans l��diteur graphique de ma main window et j'ai ajout� une variable via l'assistant "ajout de variable membre". Dans mon .h j'ai donc
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    public:
    CComboBox m_port;
    Dans mon cpp j'ai ainsi
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    void CMFCApplication1Dlg::DoDataExchange(CDataExchange* pDX)
    {
    	CDialogEx::DoDataExchange(pDX);
     
    	DDX_Control(pDX, IDC_COMBOBOX1, m_port);
    }
    Je souhaite ainsi r�cup�rer via m_port un objet CCombobox
    pour faire ceci a la fin de la fonction BOOL CMFCApplication1Dlg::OnInitDialog()
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    BOOL CMFCApplication1Dlg::OnInitDialog()
    {
    	CDialogEx::OnInitDialog();
             (...)
    	if (NULL!=m_port)
    	{
    		m_port.AddString((CString)"MyString");
     
    	}
    or m_port est syst�matiquement NULL et aucun item n'est ajout�
    Quelle est donc mon erreur?
    Merci beaucoup pour votre aide eventuelle.

  2. #2
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Je pense qu'il manque UpdateData(TRUE); en d�but de fonction (j'ignore s'il faut le mettre avant ou apr�s l'appel � la classe m�re, par contre).

    Typiquement, dans une fonction pour g�rer un �v�nement de bo�te de dialogue MFC, on a UpdateData(TRUE) au d�but, des modifications de champs, puis UpdateData(FALSE) � la fin.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre averti
    Inscrit en
    Juillet 2012
    Messages
    19
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 19
    Par d�faut initialisation de combobox
    Merci bien M�dinoc! mais cette proposition ne semble rien changer � mon probl�me, m_port reste NULL.
    Une autre id�e?

  4. #4
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 503
    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 503
    Par d�faut
    C'est loin les MFC.

    Je sais plus s'il ne faut pas attendre le WM_CREATE avant de pouvoir acc�der aux contr�les.

    OnInitDialog est vraisemblablement trop pr�coce.

  5. #5
    Membre averti
    Inscrit en
    Juillet 2012
    Messages
    19
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 19
    Par d�faut
    Merci � nouveau pour la r�ponse.. mais euh franchement c'est un peu vague pour moi, peux tu pr�ciser ta pens�e STP. Je sais que les MFC c'est pas tout jeune mais c'est ce que veux mon chef () et puis je pensais que initialiser une combobox restait un besoin assez basique. Seulement j'ai vraiment rien trouv� sur ce sujet sur le net alors si vous connaissez des sources fiables d'infos sur le sujet, je suis preneur!!
    Merci � vous!!

  6. #6
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 503
    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 503
    Par d�faut
    Apr�s v�rification, c'est une fausse piste.

    Si c'est des constantes, utilisez le designer pour remplir la ComboBox.

    Cas le plus probable, "IDC_COMBOBOX1" n'est plus un identifiant de contr�le dans les ressources de la boite de Dialogue, chose qui arrive fr�quemment quand on renomme ces identifiants.

    Un exemple complet :
    http://www.codeproject.com/Articles/...Initialization

  7. #7
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Citation Envoy� par bacelar Voir le message
    OnInitDialog est vraisemblablement trop pr�coce.
    WM_INITDIALOG est post�rieur � WM_CREATE (d'ailleurs, il me semble qu'une DialogProc ne re�oit jamais WM_CREATE, mais MFC override peut-�tre �a)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. comment creer une projet dans visual studio 2008
    Par sousoi dans le forum Visual Studio
    R�ponses: 2
    Dernier message: 22/05/2010, 22h21
  2. portee d'une variable dans "visual studio"
    Par liloulinx dans le forum D�buter
    R�ponses: 26
    Dernier message: 15/03/2010, 12h32
  3. Ajouter une refrence dans Visual studio 2008
    Par aallal dans le forum G�n�ral Dotnet
    R�ponses: 4
    Dernier message: 29/09/2008, 12h51
  4. R�ponses: 6
    Dernier message: 20/08/2008, 09h59
  5. Mise � jour d'une comboBox dans Visual Studio
    Par lilimilou29 dans le forum VB.NET
    R�ponses: 7
    Dernier message: 31/05/2007, 17h04

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