Question

Je suis actuellement en mesure de définir un style listview via la méthode ListView_SetExtendedListViewStyle. Toutefois, toutes les colonnes ont le même style. Mon objectif est de ne modifier qu'une seule colonne (pour adopter le style LVS_EX_UNDERLINEHOT | LVS_EX_UNDERLINECOLD | LVS_EX_TWOCLICKACTIVATE).

Y a-t-il un moyen de modifier le style d'une seule colonne et non de la table entière?

Modifier: Ou même un moyen de personnaliser la cellule?

Était-ce utile?

La solution

Si vous utilisez le cadre WTL , il existe une classe CCustomDraw très utile que vous pouvez utiliser. pour intercepter facilement les messages NM_CUSTOMDRAW et dessiner votre propre contenu listview.

Il existe un bon article CodeProject sur le dessin personnalisé utilisant WTL, ici .

Autres conseils

Un CodeProject .

Recherchez la partie intitulée --- Sous-élément Couleurs --- sous "Couleurs ListView" . Vous y verrez le code suivant, dans lequel vous devriez placer votre appel ListView_SetExtendedListViewStyle () correspondant dans l’instruction case:

case CDDS_SUBITEM | CDDS_ITEMPREPAINT: 
        {
            switch(lplvcd->iSubItem)
            {
                case 0: // Your first column
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top