列和行的结构体属性:
typedef struct _LVCOLUMN {
UINT mask; //说明此结构中哪些成员是有效的
int fmt; //列的对齐方式
int cx; //列的初始宽度
LPTSTR pszText; //列的标题
int cchTextMax; //pszText所指向的缓冲区的大小
int iSubItem; //与列关联的子项的索引值,从0开始
int iImage; //与列关联的图像列表中指定图像的索引值
int iOrder; //第几列,0代表最左一列
} LVCOLUMN, FAR *LPLVCOLUMN;
typedef struct _LVITEM {
UINT mask; //说明LVITEM结构中哪些成员有效
int iItem; //项目的索引值(可以视为行号)从0开始
int iSubItem; //子项的索引值(可以视为列号)从0开始
UINT state; //子项的状态
UINT stateMask; //状态有效的屏蔽位
LPTSTR pszText; //主项或子项的名称
int cchTextMax; //pszText所指向的缓冲区大小
int iImage; //关联图像列表中指定图像的索引值
LPARAM lParam; //程序定义的32位参数
int iIndent; //表示图像位置缩进的单位
} LVITEM, FAR *LPLVITEM;
列子:
m_imageList.Create(25,25,ILC_COLOR,10,1);//参数依次为图象宽度,高度,图象列表的类别,图象数量,可控制的图象数量
HICON hi1;
hi1=(HICON)::LoadImage(AfxGetInstanceHandle(),"D://animal.ico",IMAGE_ICON, 0, 0, LR_LOADFROMFILE);//参看
//我的另一篇博文
m_imageList.Add(hi1);
m_list.SetImageList(&m_imageList,LVSIL_SMALL);//LVSIL_SMALL表示图象列表的类型,此处为小图标,
LVSIL_NORMAL大图标,LVSIL_STATE state images,不知道什么意思。
LVCOLUMN lvcolumn;
lvcolumn.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH;
lvcolumn.fmt = LVCFMT_CENTER;
lvcolumn.cx = 80;
lvcolumn.pszText = "image";
lvcolumn.iSubItem = 0;
m_list.InsertColumn(0, &lvcolumn);
LVITEM lvitem;
lvitem.mask = LVIF_IMAGE|LVIF_TEXT;
lvitem.iItem = 0;
lvitem.pszText = "123";
lvitem.iImage = 0;
lvitem.iSubItem = 0;
m_list.InsertItem(&lvitem);