list控件一般有四种type可进行选择ICON(标准),SMALL ICON(小图标),LIST(列表),REPORT(报表),其中LIST与REPORT就不进行讲解,此次说明怎么在LIST控件中添加图标。
1.要为list控件添加图标,则需要使用CImageList控件,并且将LIST控件type更改为ICON或者SMALLICON(注意区别,下面会进行说明)。
2.主要使用的函数:(1)SetImageList(
ImageList* pImageList, 类型),(2)Creater(CImageList *pImageList)。(3)InsertItem(int nItem,LPCSTR lpszitem, int image)另外需要填加一个HICON 数组;下面用一段程序说明(此程序使用本地图标)。
3,打开vc工程,建立一个基本对话框应用工程,删除自动添加的控件,拖入一个List控件,更改类型为ICON。添加list控件变量本次使用m_ListCtrl。
4.打开.h文件,添加CImageList m_ImageList;
5.打开OnInitDialog()添加代码:
HICON myIcon[8];
for( int i=0; i<8; i++)
myIcon[i] = AfxGetApp()->LoadIcon( IDR_MAINFRAME )//这里使用LoadIcon获得HICON 其中IDR_MAINFRAME为系统默认图标
m_ImageList.Create( 32, 32, ILC_COLOR32, 4, 4);
for( i=0; i<8; i++)
m_ImageList.Add(myIcon[i]);
m_ListCtrl.SetImageList(&m_ImageList, LVSIL_NORMAL);
for(i=0; i < 8; i++)
{
for(i=0; i < 8; i++)
{
LVITEM lvitem;
lvitem.mask = LVIF_IMAGE|LVIF_TEXT;
lvitem.mask = LVIF_IMAGE|LVIF_TEXT;
lvitem.iItem = i;
lvitem.pszText = " ";
lvitem.iImage = i;
lvitem.iSubItem = 0;
m_ListCtrl.InsertItem(&lvitem);
lvitem.pszText = " ";
lvitem.iImage = i;
lvitem.iSubItem = 0;
m_ListCtrl.InsertItem(&lvitem);
// ((CListCtrl *) lParam)->InsertItem(i,m_strTitle, i);
}
完成,测试成功。
6.注意这里list控件类型是ICON,如果是SMALLICON需更改m_ListCtrl.SetImageList(&m_ImageList, LVSIL_NORMAL);第二个参数更改为LVSIL_SMALL即可。