Auf Auswahl im ListView reagieren
-
Tag und Hilfe,
über welchen Event kann man eine Änderung bzgl. der Auswahl in einem ListViewCtrl abfangen?
Einfacher, welches Event feuert, wenn sich der blaue Balken, über Cursor oder Maus, im ListView auf eine andere Zeile springt?Thanxx
-
Geh in den Class-Wizzard und wähle als Objekt-Id deine ListView aus.
Dort stehen alle Nachrichten!Timo
-
Hallo TimoL,
danke für Deine schnelle Antwort.
Nun weiß ich mit dem, was Du da geschrieben hast nicht allzu viel anzufangen (benutze C++ Net).
Muss ich nicht eher ein Event aus den "Control Events" des ListView nehmen? Nur welches?
-
wäre nett, wenn mir hier nochmal einer helfen könnte,
thanxx
-
Ok, sorry...
Meine Beschreibung war für Visual C++ 6.0.Das Event heisst 'LVN_ITEMCHANGED' (wenn es das ist, was Du meinst).
Wenn es das unter C++ Net gibt...
-
Vielen Dank,
hat mir weitergeholfen. Ein bischen unangenehm ist die Eigenheit, dass bei jedem Zeilenwechsel die Funktion gleich 3* aufgerufen wird. Habe die Sache wie folgt gelöst:void CTest4Dlg::OnLvnItemchangedListArtikel(NMHDR *pNMHDR, LRESULT *pResult) { LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR); // TODO: Add your control notification handler code here static int iItem_old= -1; if (pNMLV->iItem!= iItem_old) { ... iItem_old= pNMLV->iItem; } *pResult = 0; }
Zu meiner Enttäuschung ist der Zeilenwechsel um ein vielfaches langsamer und das unabhängig von meiner Codierung. Liegt das daran, dass das Event explizit aufgerufen werden muss?
Thanxx
-
sorry, sorry bzgl. der Performance-Sache, lag doch an meinem Code