"LVM_SETITEMSTATE" ska funka om du skickar med "LVIS_SELECTED || LVIS_FOCUSED".
http://www.developersdex.com/gurus/code/318.asp
(Kolla funktionen SelectListItem mitt på sidan. VB iofs men ..)
9 svar · 220 visningar · startad av Reza
Jag vill kunna markera en Item i en List View control, men jag får inte det att fungera.
När användaren väljer en Item lagrar jag index värdet på denna Item, När jag sen behöver uppdatera Listen vill jag kunna markera den senast valda Itemet.
Jag har använt LVM_SETITEMSTATE, ListView_SetSelectionMark utan resultat.
Hur gör man??
"LVM_SETITEMSTATE" ska funka om du skickar med "LVIS_SELECTED || LVIS_FOCUSED".
http://www.developersdex.com/gurus/code/318.asp
(Kolla funktionen SelectListItem mitt på sidan. VB iofs men ..)
Jag har även testat detta, men det fungerar inte. :q
På vilket sätt funkar det inte? Det är inget med att det markerade itemet ligger utanför den synliga "ytan"?
Har du tittat på LVM_ENSUREVISIBLE?
Har du testat med exakt det här som niko skrev?
LVIS_SELECTED || LVIS_FOCUSED
Tänkte mest på att det kanske borde vara...
LVIS_SELECTED | LVIS_FOCUSED
...istället... :)
Phorpher >>
Kan ligga lite i det. Som VB-programmerare med huvudinriktning mot ctr-c/v så blir det lätt fel så fort man försöker porta manuellt. Tack. :)
Jag förstod vad du menade niko, det skulle ju vara ”|”.
:birp
Itemet markeras inte och den ligger inte utanför den synliga ytan.
När jag senare, efter att jag har satt status, kontrollerar itemets status är den inte heller satt.
Jag har fyllt i mask och allt.
Den vägrar helt enkelt att markeras.
Jag hade ingen aning om det.
:)
Inte jag heller. Fast "egentligen" funkar det redan utan. Det är bara det att du isåf direkt efter anropet måste flytta fokus till listvyn för att du ska se markeringen.
Helt rätt!!
:)