MFC应用程序中的CListCtrl和std :: list

时间:2015-07-21 18:16:15

标签: c++ visual-c++ mfc clistctrl

我在MFC上运行应用程序,我遇到了CListCtrl控制器的问题,希望我用它来创建列表控件! 因此,当我将该代码用于我的函数ViewALL(用于测试)时,一切正常:

void CFactureView::ViewALL()
{
    int i = 0 ;

    m_FactureList.DeleteAllItems();

            m_FactureList.InsertItem(i,_T("TEST"));
            m_FactureList.SetItemText(i,1,_T("TEST"));
            m_FactureList.SetItemText(i,2,_T("TEST"));
            m_FactureList.SetItemText(i,3,_T("TEST"));
            m_FactureList.SetItemText(i,4,_T("TEST"));
            m_FactureList.SetItemText(i,5,_T("TEST"));
            m_FactureList.SetItemText(i,6,_T("TEST"));
            m_FactureList.SetItemText(i,7,_T("TEST"));
            m_FactureList.SetItemText(i,8,_T("TEST"));
            m_FactureList.SetItemText(i,9,_T("TEST"));
}

但有了这个,没有发生任何事情: m_FactureList是我的控制器的名称。

void CFactureView::ViewALL()
{
    m_FactureList.DeleteAllItems();
    int i = 0 ;
    CString annee, mois, imp, reg, bilan ;
    //Parcourir la liste des factures
        for(std::list<CInfoFacture>::iterator it=GetDocument()->m_listFacture.begin();
                                      it!=GetDocument()->m_listFacture.end(); it++)
        { 
            annee.Format(_T("%d"),it->m_Date.m_Annee);
            mois.Format(_T("%d"),it->m_Date.m_Mois);
            imp.Format(_T("%.*f"),2,it->m_MontantIMP);
            reg.Format(_T("%.*f"),2,it->m_MontantREG);
            bilan.Format(_T("%.*f"),2,it->m_Bilan);

            m_FactureList.InsertItem(i,it->pAdmin->m_MonCentre->m_nomCentre);
            m_FactureList.SetItemText(i,1,it->pAdmin->m_nomAdmin);
            m_FactureList.SetItemText(i,2,it->m_Police);
            m_FactureList.SetItemText(i,3,annee);
            m_FactureList.SetItemText(i,4,mois);
            m_FactureList.SetItemText(i,5,it->m_NumFacture);
            m_FactureList.SetItemText(i,6,imp);
            m_FactureList.SetItemText(i,7,reg);
            m_FactureList.SetItemText(i,8,it->m_Bons);
            m_FactureList.SetItemText(i,9,bilan);

            i++;
        }
}

m_listFacture是我用来存储信息的列表愿望(CInfoFacture类) 该列表在CFactureDocCDocument类)中声明:

class CFactureDoc : public CDocument
{
protected: // création à partir de la sérialisation uniquement
    CFactureDoc();
    DECLARE_DYNCREATE(CFactureDoc)

// Attributs
public:
    std::list<CCentre> m_listCentre; // Listes des centres
    std::list<CAdministration> m_listAdmin; // Listes des administrations
    std::list<CInfoFacture> m_listFacture; // Listes des factures 
// Opérations
 // Extra code here !
 //
}

0 个答案:

没有答案