Façon la plus simple de changer listview et treeview couleurs
Question
J'essaie de trouver un moyen simple de changer la couleur de texte et d'arrière-plan dans listview
et treeview
les contrôles dans WTL ou de la plaine Win32 code.
Je ne veux vraiment pas avoir à mettre en œuvre pleinement propriétaire de dessin pour ces contrôles, il suffit de modifier les couleurs utilisées.
Je veux faire en sorte que les images sont toujours dessinés avec de la bonne transparence.
Toutes les suggestions?
La solution
Regardez les macros suivantes:
Autres conseils
Il existe également des méthodes appropriées de l' CListViewCtrl
et CTreeViewCtrl
classes wrapper:
- GetBkColor
- SetBkColor
Vous pouvez également prendre un coup d'oeil à WTL de CCustomDraw::OnItemPrePaint (c'est si vous avez besoin de contrôler le dessin des différents éléments)
Un bon article qui décrit ce processus est ici
Il a été un moment depuis que j'ai utiliser l'API win32 directement, mais je crois que si vous manipulez le WM_ERASEBACKGROUND message pour votre contrôle, vous pouvez utiliser FillRect() dans votre gestionnaire de peindre l'arrière-plan à l'aide de quelque couleur que vous aimez.