Item eines ListControl anhand von Text erkennen
-
Hi,
ich update ein Icon eines ListControl wie folgt:
int xc = m_List.GetSelectionMark(); // index des gewählten eintrags holen LVITEM lvItem; lvItem.mask = LVIF_IMAGE; //es soll ein image getauscht werden lvItem.iItem = xc; //index-position lvItem.iImage=1; lvItem.iSubItem = 0; this->m_List.SetItem (&lvItem);Da es aber durchaus sein kann, dass der Benutzer bereits ein anderes Item
im Control angeklickt hat, würde ich im schlimmsten Fall das Icon dem
falschen Eintrag zuordnen.Habe ich die Möglichkeit einen Listeneintrag zu finden, wenn ich den
Textinhalt des Listeintrages kenne?Ich muss daraus dann den Indexwert als int ermitteln.
-
Zwischen dem GetSelectionMark und dem SetItem kann der User nichts anderes markieren!
Ganz verstehe ich Dein Problem nicht.
Anhand eines Textes ein Item suchen geht über FindItem (wer hätte das gedacht
)!
-
Wo genau steht denn dieser Code? Solange du noch mit der Bearbeitung einer Nachricht beschäftigt bist, kann dir der User gar nicht dazwischenfunken. Und für später ist es wohl einfacher, den Index des benötigten Items zwischenzuspeichern anstelle seines Inhalts.
-
Der Eintrag wird durch Doppelklick gewählt und der Text des Eintrages
an ein anderes Fenster geschickt.In diesem anderen Fenster arbeitet man weiter. Sobald man dort fertig
ist, wird eine Nachricht zurück gesendet, dass sich das Icon auf "erledigt"
setzen kann.Und in der Zeit besteht halt die Gefahr, dass der Anwender ein anderes Icon
doppelklickt.Ich schaue mir FindItem sofort an. Danke für den Hinweis.