La forma más sencilla de cambiar los colores de la vista de lista y la vista de árbol
Pregunta
Estoy tratando de encontrar una manera sencilla de cambiar el color del texto y el fondo en listview
y treeview
controles en WTL o código simple Win32.
Realmente no quiero tener que implementar un dibujo de propietario completo para estos controles, simplemente cambiar los colores utilizados.
Quiero asegurarme de que las imágenes sigan dibujadas con la transparencia adecuada.
¿Alguna sugerencia?
Solución
Eche un vistazo a las siguientes macros:
Otros consejos
También existen métodos apropiados de CListViewCtrl
y CTreeViewCtrl
clases de contenedor:
- ObtenerBkColor
- EstablecerColorBk
Es posible que también desee echar un vistazo a CCustomDraw::OnItemPrePaint de WTL (si necesita controlar el dibujo de elementos individuales)
Un buen artículo que describe este proceso es aquí
Ha pasado un tiempo desde que uso la API win32 directamente, pero creo que si maneja el mensaje WM_ERASEBACKGROUND para su control, puede usar FillRect() en su controlador para pintar el fondo usando el color que desee.