SetItemState richtig setzen und auch wieder auflösen



  • Hallo an alle,

    habe das Problem, das ich einen Dialog mit einer CListCtrl starte, wo der ItemState auf das erste Item(also 0) gesetzt ist.

    m_lstRefGrp.SetItemState(0, LVIS_SELECTED, LVIS_SELECTED);
    m_lstRefGrp.EnsureVisible(0, false);
    

    Jetzt starte ich eine Prüfung und je nach Rückgabe der Prüfung soll dann der ItemState auf den Rückgabewert gesetzt werden.
    Bsp. Rückgabe = 3 setze State Item auf 3.
    Wenn ich es wie folgt versuche:

    m_lstRefGrp.EnsureVisible(0, true); //hab es auch ohne diese Zeile probiert
    nItem = SetStateGrp(GrpNrOfVorl()); // Hier findet die Prüfung statt
    m_lstRefGrp.SetItemState(nItem, LVIS_SELECTED, LVIS_SELECTED);
    m_lstRefGrp.EnsureVisible(nItem, false);
    

    dann wird zwar der State auf das Item gesetzt aber der State auf Item 0 bleibt bestehen. Also werden zwei als Selected angesehen.
    Wie schaffe ich es jetzt den State auf Item 0 aufzulösen, so das wirklich nur der gesetzte bestehen bleibt?

    Gruß
    CrazyPlaya



  • vielleicht so:

    m_lstRefGrp.SetItemState( 0, 0, LVIF_STATE );
    


  • Jau das hat gefunkt, besten Dank auch



  • Jau das hat gefunkt, besten Dank auch


Anmelden zum Antworten