首先创建一个MFC工程,选择单对话框模式,其他默认。添加两个按钮,一个标签,一个下拉框,一个列表视图。下拉框的类型改为“下拉列表”,数据哪里添加4个状态,大图标 小图标 列表 报告,见下图
使用类向导命名下拉框和列表视图的变量名,见图。
在资源中导入两个ICO图标 一个是16*16的IDI_ICON_QQ 一个是32*32的IDI_ICON_BQQ
为对话框类添加几个成员,方便操作,如下
- int listIndex;
- CImageList smallImage;
- CImageList bigImage;
在OnInitDialog()事件里初始化列表视图,代码如下:
- m_listMain.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_ONECLICKACTIVATE|LVS_EX_INFOTIP);
- m_listMain.InsertColumn(0,"名称",LVCFMT_LEFT,80);
- listIndex=0;
- HICON icon1=AfxGetApp()->LoadIcon(IDI_ICON_QQ);//读取资源中的图标
- HICON icon2=AfxGetApp()->LoadIcon(IDI_ICON_BQQ);
- smallImage.Create(16,16,ILC_COLOR32,10,30); //创建小图标
- smallImage.Add(icon1);//添加小图标
- m_listMain.SetImageList(&smallImage,LVSIL_SMALL);//与列表视图绑定
- bigImage.Create(32,32,ILC_COLOR32,10,30);//创建大图标
- bigImage.Add(icon2); //添加大图标
- m_listMain.SetImageList(&bigImage,LVSIL_NORMAL);//与列表视图绑定
- m_cmbView.SetCurSel(1);
为添加按钮写点击事件,代码如下:
- strTem.Format("ITEM-%d",listIndex); //格式化字符窜
- m_listMain.InsertItem(listIndex,strTem,0);//插入项
- listIndex++;//对话框类成员,记录列表视图序数 在头文件中定义
为删除按钮写点击事件,代码如下:
- listIndex--;
- m_listMain.DeleteItem(listIndex);//删除项
为下拉列表的OnSelendok事件写以下代码:
- LONG lStyle;
- lStyle=GetWindowLong(m_listMain.m_hWnd,GWL_STYLE);//获取当前窗口类型
- lStyle&=~LVS_TYPEMASK; //清除显示方式位
- int i=m_cmbView.GetCurSel();
- switch (i)
- {
- case 0:
- lStyle|=LVS_REPORT;
- break;
- case 1:
- lStyle|=LVS_ICON;
- break;
- case 2:
- lStyle|=LVS_LIST;
- break;
- case 3:
- lStyle|=LVS_SMALLICON;
- break;
- default:
- lStyle|=LVS_ICON;
- break;
- }
- SetWindowLong(m_listMain.m_hWnd,GWL_STYLE,lStyle);//设置窗口类型
好了,就写到这里。
VC下列表视图的使用
最新推荐文章于 2022-11-28 10:57:04 发布