none
Bestimmtes element aus einem ListCtrl löschen RRS feed

  • Frage

  • Ich benutze folgenden Code um das Markierte Element aus einem ListCtrl zu löschen:
    	if(m_listTimer.GetSelectedCount() != 0)
    	{
    		m_listTimer.DeleteItem(m_listTimer.GetSelectedCount());
    	}
    

    Mein Problem dabei ist nun das wenn ich nur noch 1 Item habe liefertn mir

    GetSelectedCount()
    

    0 zurück. Ich bekomme aber auch 0 wenn kein Item markiert ist. Wie kann ich das lösen?


    VisualCPlusPlus
    Freitag, 25. November 2011 00:18

Antworten

  • GetSelectedCount liefert die Anzahl, nicht das markierte Element.

    Du musst das markierte / Fokus Element suchen und dieses Item dann löschen:

    // LVNI_FOCUSED jenachdem was Du willst.
    int nSel= m_lcData.GetNextItem(-1,LVNI_SELECTED);

    BZW: Es können viele Items markiert sein.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Freitag, 25. November 2011 10:25
    Moderator

Alle Antworten

  • GetSelectedCount liefert die Anzahl, nicht das markierte Element.

    Du musst das markierte / Fokus Element suchen und dieses Item dann löschen:

    // LVNI_FOCUSED jenachdem was Du willst.
    int nSel= m_lcData.GetNextItem(-1,LVNI_SELECTED);

    BZW: Es können viele Items markiert sein.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Freitag, 25. November 2011 10:25
    Moderator
  • Danke hat funktioniert.
    VisualCPlusPlus
    Freitag, 25. November 2011 11:11