Pregunta

Actualmente puedo configurar un estilo de vista de lista mediante el método ListView_SetExtendedListViewStyle, sin embargo, esto hace que todas las columnas tengan el mismo estilo. Mi objetivo es modificar solo una columna (para tener básicamente el estilo LVS_EX_UNDERLINEHOT | LVS_EX_UNDERLINECOLD | LVS_EX_TWOCLICKACTIVATE).

¿Hay alguna manera de modificar el estilo de una sola columna y no de toda la tabla?

Editar: ¿O incluso una forma de dibujar la celda de forma personalizada?

¿Fue útil?

Solución

Si usa el marco WTL , existe una clase de CCustomDraw muy útil que puede usar para interceptar fácilmente los mensajes de NM_CUSTOMDRAW y dibujar su propio contenido de vista de lista.

Hay un buen artículo de CodeProject sobre sorteo personalizado utilizando WTL aquí .

Otros consejos

Hay un tutorial sobre el uso del control ListView bajo la API de Win32, en CodeProject .

Busque la parte llamada --- Sub item Colors --- en " ListView Colors " . Allí verá el siguiente código, en el que debe colocar su llamada correspondiente ListView_SetExtendedListViewStyle () dentro de la declaración del caso:

case CDDS_SUBITEM | CDDS_ITEMPREPAINT: 
        {
            switch(lplvcd->iSubItem)
            {
                case 0: // Your first column
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top