如果在任何列中都不需要图像/图标,则MFC CListCtrl是否合适?

时间:2019-04-23 14:20:39

标签: c++ mfc

强调MFC CListCtrl可以在各种模式下显示小/大图标。我想在ReportView模式下使用没有任何图标的控件。 换句话说,我希望在所有列中显示文本。

我可以这样做吗? 如果否,哪种MFC控件适合此问题? 我感到惊讶的普遍问题是,在任何列中显示具有任意类型的网格(或在任何行/列位置中显示任意类型的网格)。

我已经考虑过ListView,但是我认为这不适合我的问题。

谢谢

2 个答案:

答案 0 :(得分:3)

当然,在报告模式下,mfc clistview可以正常运行而没有任何图标。我像穷人的电子表格那样使用它。

答案 1 :(得分:3)

答案是肯定的,在查看InsertItem()方法的可用重载时已经可以得出结论。最简单的重载不需要您传递图像索引:

int InsertItem(
    int nItem,
    LPCTSTR lpszItem);

即使使用最复杂的重载,也不需要定义图像索引:

int InsertItem(const LVITEM* pItem);

要使用LVITEM::iImage成员,您必须在LVIF_IMAGE成员中包含LVITEM::mask标志。只需保留该标志,即可插入没有图标的项目。