Forum: PC-Programmierung SetCurSel bei CListBox geht nicht.


von Karlheinz Druschel (Gast)


Lesenswert?

Hi Leuts,

ich habe hier eine Listbox mit der entprechenden Controlvariablen 
(CListBox m_Liste);

Die Eigenschaft "SingleSelect" ist auf true, man kann also immer nur 
eine Reihe selektieren.
Nun möchte ich vom Prgramm immer die letzte Reihe selektieren, die 
Funktion m_Liste.SetCurSel (Index) wird auch fehlerfrei aufgerufen, aber 
es wird keine Reihe markiert.
Was mache ich da verkehrt ?


Greets
Karlheinz

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Wert für Index um eins zu hoch? Code posten!

von Karlheinz Druschel (Gast)


Lesenswert?

Ok, also ich habe mich vertippt.
Es handelt sich um ein ListCtrl, nicht eine ListBox. Aber das "Select" 
geht trotzdem nicht.

FULLROWSELECT ist gesetzt, ebenso ist es eim Reportmode.
Lt. Codeproject sollte es so gehen:
    int n = m_ctlListe.GetItemCount()-1;
    m_ctlListe.SetItemState(n, LVIS_SELECTED, LVIS_SELECTED | 
LVIS_FOCUSED);
    m_ctlListe.EnsureVisible(n, false);

Geht nicht!

Die Variation:
m_ctlListe.SetSelectionMark(n);
geht auch nicht.

Irgendwie muss ich wohl noch ein Flag setzen oder sowas....


Greets
Karlheinz

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.