CListCtrl - Frage
-
Hi!
Also mein Problem:An einem ListCtrl habe ich im Ressourcen-Editor Mehrfachmarkierung eingestellt. Und wenn ich durch die Liste navigieren will (nicht mit der Maus, sondern so:
m_ListCtrl.SetSelectionMark( m_ListCtrl.GetSelectionMark() + 1 ); m_ListCtrl.SetItemState(m_ListCtrl.GetSelectionMark(), LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED );), dann kriege ich die vorherige Markierung nicht weg.
Wo liegt der Fehler, weiss es jemand?Danke
-
Was willst Du eigentlich genau erreichen?!?
Um alle markierten Positionen zu ermitteln gibt es
GetFirstSelectedItem
und
GetNextSelectedItem...
oder so ähnlich...Hilft Dir das?
-
Hi!
Meine Frage, eigentlich wäre, wie ich die Markierung von der markierten Zeile wegnehme und auf die andere setze (ohne Mausklick !)Auf eine andere setzen klappt es, aber die vorher markierte Zeile bleibt nach wie vor markiert
-
Probier mal anstelle von
LVIS_SELECTEDeinfach
~LVIS_SELECTEDHabe ich aber noch nicht getestet...
-
m_ListCtrl.SetItemState(m_ListCtrl.GetSelectionMark(), NULL, LVIS_SELECTED | LVIS_FOCUSED );
so müsstest du die markierung wegbekommen
-
HI!
Ich danke euch! Es klappt in beiden Fällen
-
ich habe ein aehnliches problem
ich habe eine CXListCtrl Liste. Dort stehen dann verschiedene Eintraege.
Ich habe ein BUTTUON UP und DOWN
Jetzt kann ich eine Zeile selektieren und dann durch UP mit der obigen Zeile tauschen.
Bei Einer Listbox bleibt der neue Focus auf der neuen Zeile so kann ich dann z.b. den letzen eintrag durch x maliges klicken auf UP ganz nach oben verschieben.
Bei der CXListCtrl verschwindet die blaube markierung.
Habe eine globale variable m_sel_pos
habe es mit
SetCurSel und mit m_testsuite.SetSelectionMark( SetCurSel); versucht geht aber beides nicht.
die zeilen habe ich am schluss der UP Button fkt geschrieben.
hab auch testhalber m_testsuite.SetSelectionMark( 1);
als test verscuht geht auch nicht.
was kann ich da machen????