J'ai dérivé une classe de CListCtrl appelée CListCtrlCustomDraw et j'utilise le gestionnaire NM_CUSTOMDRAW pour dessiner la liste.
Le problème est que j'ai différentes polices pour l'article et l'article désélectionné sélectionnés, ils sont des variables membres du contrôle de la liste, mais quand je l'utiliseCListCtrl: comment obtenir une largeur de colonne lors de l'utilisation de polices différentes sur la même colonne?
m_list.SetColumnWidth(iCol, LVSCW_AUTOSIZE);
int nTextWidth = m_list.GetColumnWidth(iCol);
m_list.SetColumnWidth(iCol, LVSCW_AUTOSIZE_USEHEADER);
int nColTitleWidth = m_list.GetColumnWidth(iCol);
m_list.SetColumnWidth(iCol,max(nTextWidth, nColTitleWidth));
pour calculer la largeur de la colonne, la liste, utilisez la police de l'élément non sélectionné, qui n'est pas aussi large que la police de l'élément sélectionné (police en gras), donc il y aura un certain contenu ne peut pas être affiché dans l'élément sélectionné
même s'ils ont le même contenu. Puis-je définir pour utiliser quelle police pour calculer la largeur de la colonne?
J'ai essayé de définir la police avant les codes ci-dessus, mais il n'y a aucun effet.
Tout conseil sera apprécié.