icon/bitmap in einem CListCtrl zur laufzeit ändern ?



  • hallo nochmal,

    ich habe ein CListCtrl, jede zeile beinhaltet auch ein img aus einer CImageList:

    m_img.Create(IDB_IMG,16,2,RGB(255,0,255)); // ImageList
    m_lListe.SetImageList(&m_img, LVSIL_SMALL);
    ...
    int nCnt = m_lListe.GetItemCount();
    int j = m_lListe.InsertItem(nCnt, " initial", 0);
    

    wie kann ich nun zur laufzeit das bild aus der imagelist ändern also einen anderen index wählen ?
    zur zeit, lösche ich das item, und füge dann ein neues mit dem anderen index ein

    m_lListe.DeleteItem(nCnt);
    int j = m_lListe.InsertItem(nCnt, " ready", 1);
    

    hat jemand dafür eine einfachere lösung? oder gehts nicht anders ?

    gruß!





  • na übersehen hab ich sie nicht.. mir warens nur einfach zu viele parameter die übergeben werden müssen, das ich halt dachte das es für meine zwecke ungeeignet ist ( dann war wohl das denken mein fehler... 😃 )

    für alle die es interessiert, so hab ichs gelöst...

    CString text = "testtext";
    LVITEM* pItem = new LVITEM;
    pItem->iItem     = iIndex;
    pItem->iSubItem  = 0;
    pItem->iImage    = m_iStatus;
    pItem->mask      = LVIF_TEXT | LVIF_IMAGE;
    pItem->pszText   = text.GetBuffer(text.GetLength());
    myList.SetItem(pItem);
    delete pItem; // nicht vergessen !
    

    --
    gruß!


Anmelden zum Antworten