Mettre des valeurs dans un ComboBox avec visual (C++ managé)

Mettre des valeurs dans un ComboBox avec visual (C++ managé) - C++ - Programmation

Marsh Posté le 06-06-2006 à 10:42:16    

Bonjour,
 
J'ai un problème, je développe un logiciel en c++ avec visual c++. J'ai créé un combo box d'identifiant IDC_COMBO1 et je veux y mettre des valeurs.
J'ai ce code :  
 

Code :
  1. CComboBox* pCbo = (CComboBox*)GetDlgItem(IDC_COMBO1);
  2. ASSERT(pCbo);
  3. if (pCbo){
  4. pCbo->AddString("toto" );
  5. pCbo->AddString("titi" );
  6. pCbo->SetCurSel(0);
  7. }


 
 
Et ca plante au niveau du GetDlgItem, il aime pas le ASSERT(::IsWindow(m_hWnd)) :
 

Code :
  1. CWnd* CWnd::GetDlgItem(int nID) const
  2. {
  3. ASSERT(::IsWindow(m_hWnd));
  4. if (m_pCtrlCont == NULL)
  5. return CWnd::FromHandle(::GetDlgItem(m_hWnd, nID));
  6. else
  7. return m_pCtrlCont->GetDlgItem(nID);
  8. }


 
 
 
Pourtant, en appelant la fonction GetDlgItem avec la combobox en paramètre, ca devrait marcher non?
Merci


Message édité par ark le 06-06-2006 à 10:57:22
Reply

Marsh Posté le 06-06-2006 à 10:42:16   

Reply

Marsh Posté le 06-06-2006 à 10:54:52    

Ce serait pas du mfc ton truc ?

Reply

Marsh Posté le 06-06-2006 à 10:58:06    

Si, en effet (mais comme on est en C++ managé, que c'est le bordel, j'ai mis ça dans la subcat .NET ... Je viens de le mettre en subcat C++ ^^)

Reply

Marsh Posté le 06-06-2006 à 11:09:32    

t'as vérifié si m_hWnd n'était pas null ?
et pourquoi utiliser du C++ managé avec les MFC ? pourquoi ne pas utiliser les winforms ?

Reply

Marsh Posté le 10-06-2006 à 17:51:20    

Solution du problème : on n'est pas censé appeler les méthodes sur une fenêtre non créée (comprendre membre m_hWnd à NULL)
 
Déplacer le code après l'initialisation du dialogue. En pratique souvent dans la virtuelle OnInitDialog.
 
En espérant avoir été utile.


Message édité par slash33 le 10-06-2006 à 17:53:03
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed