|
Hola a todos,
ya solucioné el problema.
En mi caso lo que quería es que cuando en la lista se mostrase un determinado elemento yo lo supiese de antemano (me refiero a una lista que tiene muchos elementos y en la que me desplazo con su scrollbar). Para conseguir esto hay dos eventos que son útiles:
onAdvancedCustomDrawItem (salta una vez dibujado el item de la lista)
onCustomDrawItem (salta antes de dibujar el item)
Mediante estos eventos se puede saber el item que se está dibujando.
Si lo que se desea es saber si un elemento se está visualizando o no, se puede optar por averiguar de ese item su posición en la lista y a compararla con el tamaño de la lista que se está visualizando, del siguiente modo:
ListView->Items->Item[x]->GetPosition().y < ListView->ClientHeight
También hay que tener en cuenta que la posición y no sea negativa porque entonces el elemento estará oculto por la parte de arriba.
De esta forma sabemos si el item se está visualizando.
Este código iría incorporado en el evento onCustomDraw o en el evento onAdvancedCustomDraw de la lista.
Un saludo y gracias a todos.
|