2008-09-05 11 views
5

J'essaie de trouver un moyen simple de changer la couleur du texte et de l'arrière-plan dans les contrôles listview et treeview en WTL ou en code Win32.Le moyen le plus simple de changer les couleurs listview et treeview

Je ne veux vraiment pas avoir à implémenter le dessin propriétaire complet pour ces contrôles, il suffit de changer les couleurs utilisées.

Je veux m'assurer que les images sont toujours dessinées avec une transparence appropriée.

Des suggestions?

Répondre

0

Cela fait un moment que j'utilise l'API win32 directement, mais je crois que si vous gérez le message WM_ERASEBACKGROUND pour votre contrôle, vous pouvez utiliser FillRect() dans votre gestionnaire pour peindre l'arrière-plan en utilisant la couleur que vous voulez .

2

Il existe aussi des méthodes appropriées des CListViewCtrl et CTreeViewCtrl classes d'emballage:

  • GetBkColor
  • SetBkColor
2

Vous pouvez également jeter un oeil à CCustomDraw :: OnItemPrePaint de WTL (c'est si vous avez besoin de contrôler le dessin des éléments individuels)

Un bon article qui décrit Ce processus est here