列表项和图像列表

列表控件 (CListCtrl) 中的“项”包括图标、标签和其他任何可能信息(在“子项”中)。

列表控件项的图标包含在图像列表中。 第一个图像列表包含了图标视图中使用的全尺寸图标。 第二个可选的图像列表包含了其他控件视图中使用的相同图标的较小版本。 第三个可选的列表包含了“状态”图像,例如在某些视图中显示在小图标前面的复选框。 第四个可选的列表包含了在列表控件的单个标题项中显示的图像。

注意

如果列表视图控件是使用 LVS_SHAREIMAGELISTS 样式创建的,则您负责在不再使用图像列表时将其销毁。 如果您将相同的图像列表分配给多个列表视图控件,请指定此样式;否则,多个控件可能会尝试销毁同一图像列表。

有关列表项的详细信息,请参阅 Windows SDK 中的列表视图图像列表项和子项。 另请参阅 MFC 参考中的 CImageList 以及此系列文章中的使用 CImageList

若要创建一个列表控件,您需要提供在将新的项插入到列表中时要使用的图像列表。 以下示例演示了此过程,其中的 m_pImagelist 是类型 CImageList 的指针,m_listctrlCListCtrl 数据成员。

m_ListImageList.Create(16, 16, ILC_COLOR, 2, 2);
m_ListImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
m_ListImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
m_ListCtrl.SetImageList(&m_ListImageList, LVSIL_SMALL);

但是,如果您不打算在列表视图或列表控件中显示图标,则不需要图像列表。

另请参阅

使用 CListCtrl
控件