ListCtrl
-
Hallo,
ich verwende ein ListCtrl, jedes Item ist ein Image. Eigentlich sollte das
SingelSelected sein ist auch so gesetzt.Scenario A)
Ein Klick und das andere Item der Liste deaktiviert sich von alleine.
Aktiv und Fokusiert glowed das angeklickte Wunderbar.Scenario C)
Ich Aktiviere programmatisch ein Item via :void CThumbNailCtrl::SelectItem(int iItem) { const DWORD state(LVIS_SELECTED | LVIS_FOCUSED | LVIS_DROPHILITED | LVIS_GLOW); int cnt(CListCtrl::GetItemCount()); for (int i = 0; i<cnt; i++) { if (i == iItem) { CListCtrl::SetItemState(iItem, state, state); } else CListCtrl::SetItemState(i, 0, state); } CListCtrl::EnsureVisible(iItem, TRUE); }
Ab jetzt ist es so, das wenn ich ein anderes Item anklicke, zwei Items
aktiviert sind. Und sich das programmatisch aktivierte auch nicht mehr
deaktivieren lässt.Leider löst jedes ändern der Selektierung ein Event OnSelctChange aus
so komme ich in eine rekursion, wenn ich die items alle Kontrolliert
re erneuere in dem ich wie im Code die Selektierungsdarstellung verändere.Danke für Hilfestellung
Gruß
Karsten
-
Eine Lösung ist , auf Focusing glowing und Highlight zu verzichten
und das Problem ist prinzipell beseitig.
const DWORD state(LVIS_SELECTED);// | LVIS_FOCUSED | LVIS_DROPHILITED | LVIS_GLOW);