Il modo più semplice per modificare i colori della visualizzazione elenco e della visualizzazione struttura
Domanda
Sto cercando di trovare un modo semplice per cambiare il colore del testo e dello sfondo listview
E treeview
controlli in WTL o semplice codice Win32.
Non voglio davvero dover implementare il disegno del proprietario completo per questi controlli, basta semplicemente cambiare i colori utilizzati.
Voglio assicurarmi che le immagini siano ancora disegnate con la giusta trasparenza.
Eventuali suggerimenti?
Soluzione
Dai un'occhiata alle seguenti macro:
Altri suggerimenti
Esistono anche metodi appropriati di CListViewCtrl
E CTreeViewCtrl
classi wrapper:
- OttieniBkColor
- Imposta colore nero
Potresti anche dare un'occhiata a CCustomDraw::OnItemPrePaint di WTL (se hai bisogno di controllare il disegno di singoli elementi)
Un buon articolo che descrive questo processo è Qui
È da un po' che non utilizzo direttamente l'API win32, ma credo che se gestisci il messaggio WM_ERASEBACKGROUND per il tuo controllo, puoi utilizzare FillRect() nel tuo gestore per dipingere lo sfondo utilizzando il colore che preferisci.