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?

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top