|
Creo que no estás enfocando correctamente el problema.
Un evento- como lo es OnCustomDrawItem -no es un método que deba llamarse desde ningún punto específico de tu código (se puede pero no se debe), sino que es el entorno quien se encarga de llamarlo cuando sea oportuno.
Lo anterior, llevado al caso particular del pintado de un ListView, significa que tú no te encargas de pintar el control de manera explícita (como lo sería iterar con un ciclo sobre las filas, tratando de aplicar ese evento a cada fila). Tú simplemente le "dejas" al entorno las instrucciones de cómo pintar. Cuando el entorno requiera pintar una celda, llamará al evento OnCustomDrawItem, en caso de haber uno definido. Pero cuándo se debe pintar una celda en específico, lo determina ese entorno y no tu código.
En resumen, tu código nunca llama al evento OnCustomDrawItem. En este evento deben estar las "instrucciones" necesarias para pintar cada celda.
Si dichas instrucciones cambian por algún factor externo (el valor de una variable, por ejemplo) que está bajo tu control, entonces deberás llamar al método Refresh del control apenas cambies dicho factor. Con esto obligas al entorno a repintar el control y, por ende, a aplicar las instrucciones atendiendo a los nuevos valores.
Bye
|