Icons in CListCtrl



  • Hallo zusammen,

    ich habe ein kleines Problem mit Icons in einem CListCtrl.
    Als erstes, ich kann die Icons problemlos Anzeigen.
    Mein Problem ist, ich habe mehrere Icons in der liste (mehrere Spalten mit einem Icon für einen Status). Das erste Icon (also Spalte 0) ist Zentriert. Die anderen folgenden nicht. Die kleben an der linken Seiter der jeweiligen Spalte.
    Was muss ich machen, damit die auch Mittig sind.

    So erstell ich die Imageliste:

    m_ImageList.Create(16, 16, ILC_COLOR32, 0, 0);
    	m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_STATUS_RED));
    	m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_STATUS_GREEN));
    	m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_STATUS_YELLOW));
    	m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_STATUS_WHITE));
    

    So erstell ich mein Tabelle:

    cLedList.ModifyStyle(0,LVS_REPORT,0);
    	cLedList.InsertColumn(0, _T(""), LVCFMT_CENTER, 25, 0);
    	cLedList.InsertColumn(1, _T("Address"), LVCFMT_RIGHT, 100, 0);
    	//Status will be "On", "Short", "Open"
    	cLedList.InsertColumn(2, _T("Status"), LVCFMT_CENTER, 50, 0);
    	cLedList.InsertColumn(3, _T("Serial"), LVCFMT_RIGHT, 75, 0); 
    	cLedList.InsertColumn(4, _T("M"), LVCFMT_CENTER, 25, 0);
    	cLedList.InsertColumn(5, _T("S"), LVCFMT_CENTER, 25, 0);
    	//LVSIL_SMALL is verry important in report style
    	cLedList.SetImageList(&m_ImageList, LVSIL_SMALL);	
    	cLedList.SetExtendedStyle(LVS_EX_SUBITEMIMAGES | LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
    

    Und so füge ich die Zeilen ein:

    for(zeile = 0; zeile<10; zeile++{
    	cLedList.InsertItem(LVIF_TEXT | LVIF_IMAGE, zeile, _T(""), 0, 0, 1, NULL);
    	cLedList.SetItemText(zeile, 1, _T("test");
    	cLedList.SetItem(zeile, 2, LVIF_TEXT | LVIF_IMAGE | LVIF_STATE, _T("test7"), 3, NULL, NULL, 0, 0);				
    	cLedList.SetItemText(zeile, 3, _T("test"));
    	cLedList.SetItem(zeile, 4, LVIF_IMAGE, NULL, 0, NULL, NULL, 0, 0);
    	cLedList.SetItem(zeile, 5, LVIF_IMAGE, NULL, 0, NULL, NULL, 0, 0);
    }
    

    Danke


  • Mod

    Ich befürchte da musst Du zu Customdraw greifen.



  • Befürchte ich auch. Hab auf Codeprojekt geschaut, aber da war zu dem Thema nichts, bzw. ich hab nichts gefunden was die Icons anpasst. Naja mal ein wenig googlen.


Anmelden zum Antworten