Bonjour,

j'ai une liste d'objets cr��e avec la classe CList et je l'affiche dans une combo box.
Je souhaite aussi pouvoir supprimer des �l�ments de cette liste en les s�lectionnant dans la combo box mais ca ne marche pas.
Voil� mon bout de code pour supprimer un �l�ment:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
 
void CListeMessagesDlg::OnDeleteMsg() 
{
	int iIndex = m_pListMsg->GetCurSel();
	CMessage*	pMessageSel = (CMessage*) m_pListMsg->GetItemData(iIndex);
	((CMainFrame*)	m_pMainFrame)->SupprimerMessage(pMessageSel);
	AfficherListeMessages();
}
code de la m�thode SupprimerMessage(pMessageSel):
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
void CMainFrame::SupprimerMessage (CMessage* pMessageASupprimer)
{
	if( pMessageASupprimer == NULL)
	{
		return;
	}
	else
	{
		POSITION pos=m_pListeMessages->Find(pMessageASupprimer);
		m_pListeMessages->RemoveAt(pos);
	}
}
et enfin le code de la m�thode AfficherListeMessages():
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
void CListeMessagesDlg::AfficherListeMessages()
{
	m_pListMsg = (CComboBox*) GetDlgItem(IDC_COMBO_LIST_MSG);
	m_pListeMessages = ((CMainFrame*)	m_pMainFrame)->GetListeMessages();
	if (m_pListeMessages == NULL)
	{
		return;
	}
	UINT uiNbMessages = ((CMainFrame*)	m_pMainFrame)->GetNbMessages();
	POSITION pos = m_pListeMessages->GetHeadPosition();
	for (UINT ui = 0; ui < uiNbMessages/*(int) uiNbMessages*/ ; ui++)
	{
		m_pMessage = (CMessage*) m_pListeMessages->GetNext(pos);
		CString sNomMessage = m_pMessage->GetNomMessage();
		m_pListMsg->AddString(sNomMessage);
	}
}
Voil� le probl�me vient du fait que quelque soit l'�l�ment s�lectionn� le pointeur pMessageSel de la m�thode OnDeleteMsg() est toujours � NULL et donc ses champs sont vides...

Si vous voyez d'ou cela peut venir merci de me l'indiquer.

Bien sur la m�thode AfficherListeMessages() est appel�e dans le InitDialog() de la dialog box donc les variables m_pListMsg et m_pListeMessages sont d�finies.