如何为CListCtrl提供自定义列宽计算?

时间:2013-10-18 13:25:59

标签: mfc clistctrl

我正在使用带有我自己的“DrawItem”的CListCtrl将一些自定义图形绘制到文本前面的第一列。为此,文本向右移动~20个像素。那部分有效。

如果用户双击标题中的列分隔符,Windows将计算最佳列宽。但当然Windows不知道我的自定义绘图。因此,第一列的结果是~20像素太小了。

我该如何纠正?

1 个答案:

答案 0 :(得分:0)

找到了解决方法:

我可以欺骗MFC认为列表控件使用复选框:

pMyList->SetExtendedStyle(pMyList->GetExtendedStyle() | LVS_EX_CHECKBOXES);

用户永远不会看到系统的复选框(因为我的自定义绘图),但这给了我所需的空间。