Bonjour à tous!
Je possède une CListCtrl basé sur le modèle personnalisable de Farscape:
http://cpp.developpez.com/faq/vc/?pa...tCtrlOwnerDraw
Mon but est maintenant de pouvoir ajouter des icones triangulaire dans les header, afin d'indiquer l'ordre de tri effectif pour une colonne donnée.
Dans cette même section de la FAQ, j'ai pu voir ceci:
http://cpp.developpez.com/faq/vc/?pa...rlCustomHeader
Effectivement, il est question de personnalisation de l'affichage des headers, mais cette méthode passe par l'événement ON_WM_PAINT, et cela ne me convient pas car j'ai besoin de garder le comportement de type bouton.
J'ai pu voir que ce code fonctionnait très bien en stand alone:
http://www.codeproject.com/KB/list/sortlistctrl.aspx
Mais lorsque j'essai de l'intégrer à mon code, il ne passe jamais dans la méthode DrawItem.
La seule différence que je vois, c'est que ma liste est, elle, définie avec la propriété Owner Draw. Et je me demande si le problème vient de là...
Mon code est organisé comme dans la FAQ : une CListCtrlEx héritant de CListCtrl, et définie avec la propriété Owner draw, qui contient un élément CHeaderCtrlEx dont le comportement est contrôle par la classe du même nom.
Le rattachement entre les deux se fait par un PreSubclassWindow.
Là où j'ai du mal à saisir, c'est que les événements à base de click et de mouvements de souris sont très bien gérés sur les headers, mais ce DrawItem continue de me résister.
Merci d'avance de m'aider à trouver un moyen de rentrer dans cette fichue méthode
Partager