Ver Mensaje Individual
  #2  
Antiguo 16-02-2007
igc igc is offline
Registrado
 
Registrado: feb 2007
Posts: 2
Reputación: 0
igc Va por buen camino
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.
Responder Con Cita