VC下列表视图的使用

首先创建一个MFC工程,选择单对话框模式,其他默认。添加两个按钮,一个标签,一个下拉框,一个列表视图。下拉框的类型改为“下拉列表”,数据哪里添加4个状态,大图标 小图标 列表 报告,见下图

image

使用类向导命名下拉框和列表视图的变量名,见图。

image 

在资源中导入两个ICO图标 一个是16*16的IDI_ICON_QQ 一个是32*32的IDI_ICON_BQQ

为对话框类添加几个成员,方便操作,如下

 

  1. int listIndex;
  2. CImageList smallImage;
  3. CImageList bigImage;

在OnInitDialog()事件里初始化列表视图,代码如下:

 

  1.     m_listMain.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_ONECLICKACTIVATE|LVS_EX_INFOTIP);
  2.     m_listMain.InsertColumn(0,"名称",LVCFMT_LEFT,80);
  3.     listIndex=0;
  4.     HICON icon1=AfxGetApp()->LoadIcon(IDI_ICON_QQ);//读取资源中的图标
  5.     HICON icon2=AfxGetApp()->LoadIcon(IDI_ICON_BQQ);
  6.     smallImage.Create(16,16,ILC_COLOR32,10,30); //创建小图标
  7.     smallImage.Add(icon1);//添加小图标
  8.     m_listMain.SetImageList(&smallImage,LVSIL_SMALL);//与列表视图绑定
  9.     bigImage.Create(32,32,ILC_COLOR32,10,30);//创建大图标
  10.     bigImage.Add(icon2);    //添加大图标
  11.     m_listMain.SetImageList(&bigImage,LVSIL_NORMAL);//与列表视图绑定
  12.     m_cmbView.SetCurSel(1);

为添加按钮写点击事件,代码如下:

 

  1. strTem.Format("ITEM-%d",listIndex); //格式化字符窜
  2. m_listMain.InsertItem(listIndex,strTem,0);//插入项
  3. listIndex++;//对话框类成员,记录列表视图序数 在头文件中定义

为删除按钮写点击事件,代码如下:

 

  1. listIndex--;
  2. m_listMain.DeleteItem(listIndex);//删除项

为下拉列表的OnSelendok事件写以下代码:

  1. LONG lStyle;    
  2. lStyle=GetWindowLong(m_listMain.m_hWnd,GWL_STYLE);//获取当前窗口类型    
  3. lStyle&=~LVS_TYPEMASK; //清除显示方式位
  4. int i=m_cmbView.GetCurSel();
  5. switch (i)
  6. {
  7. case 0:
  8.     lStyle|=LVS_REPORT;
  9.         break;
  10. case 1:
  11.     lStyle|=LVS_ICON;
  12.     break;
  13. case 2:
  14.     lStyle|=LVS_LIST;
  15.     break;
  16. case 3:
  17.     lStyle|=LVS_SMALLICON;
  18.     break;
  19. default:
  20.     lStyle|=LVS_ICON;
  21.     break;
  22. }       
  23. SetWindowLong(m_listMain.m_hWnd,GWL_STYLE,lStyle);//设置窗口类型 

好了,就写到这里。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值