CListCtrl + Icon



  • Also ich versuche eine Statusausgabe zu machen. Dazu hab ich jetzt ein CListCtrl gewählt und will in die erste Spalte jeweils ein Icon (Häckchen,X,...) einfügen, aber ich komm mit CImageList nicht klar, da gibts immer nen ASSERT.

    //:
    //In Klasse definiert
    CImageList ImageList;
    CListCtrl m_cList;
    //:
            //In OnInitDialog
        ImageList.Add(AfxGetApp()->LoadIcon(IDI_OK));
        ImageList.Add(AfxGetApp()->LoadIcon(IDI_Error));
        ImageList.Add(AfxGetApp()->LoadIcon(IDI_InProgress));
    
        m_cList.SetImageList(&ImageList,LVSIL_NORMAL);
    //:
    

    ASSERT in afxcmn.inl,485 bei:

    //:
    _AFXCMN_INLINE int CImageList::Add(HICON hIcon)
    /*Hier->*/{ ASSERT(m_hImageList != NULL); return ImageList_AddIcon(m_hImageList, hIcon); }
    //:
    


  • Hab Create vergessen *schäm*.
    Klappt aber trotzdem nicht, es werden einfach keine Icons angezeigt!

    //:
    ImageList.Create(32,32,ILC_COLOR4,3,3);
    //:
    

    Und so füge ich ein Item hinzu:

    //:
    //IconID von 0-2
    long Addr=m_cList.InsertItem(LVIF_IMAGE,Pos,0,0,0,IconID,0);
    //:
    


  • m_imagelist. Create(16, 16, TRUE, 4, 4);
    m_imagelist . Add(::LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_OK)));
    m_imagelist . Add(::LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_Error)));
    m_imagelist . Add(::LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_InProgress)));

    m_statusanzeige . SetImageList(&m_imagelist, LVSIL_SMALL);

    Bei insertitem ist der 3te Parameter 0,1 oder 2 je nach Icon


Log in to reply