Chinaunix首页 | 论坛 | 博客
  • 博客访问: 897188
  • 博文数量: 148
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 3920
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-30 18:17
文章分类

全部博文(148)

文章存档

2008年(148)

我的朋友

分类: C/C++

2008-04-05 10:22:24

ListControl的使用

一、基本使用
1.新加ListControl 控件,属性中的style属性页下的View选择Report。
并设置其对应的控制变量如:m_list1。
2.初始化,即设置列。     用m_list1。
 m_list1.InsertColumn(0,"曲名");         //插入列
 m_list1.InsertColumn(1,"类型");
 m_list1.InsertColumn(2,"长度");
 m_list1.InsertColumn(3,"路径");
 CRect rect4;
 m_list1.GetClientRect(rect4);                    //获得当前客户区信息
 m_list1.SetColumnWidth(0,rect4.Width()/4);       //设置列的宽度。
 m_list1.SetColumnWidth(1,rect4.Width()/5);
 m_list1.SetColumnWidth(2,rect4.Width()/5);
 m_list1.SetColumnWidth(3,rect4.Width()*8/20);
 这部分初始化操作,最好放在对话框类的OnInitDialog()函数里,自动初始化。
3.插入数据
        m_list1.InsertItem(0,"大海");      //插入第一个数据,即第0条数据。先插入,然后在修改其他的信息。
        m_list1.SetItemText(0,1,"mp3");    //修改第0条数据的其他信息。
        m_list1.SetItemText(0,2,"4:20");
        m_list1.SetItemText(0,3,"c:\");
4.删除所有数据
        m_list1.DeleteAllItems();
 
如何删除ListControl中选中的记录
m_listcontrol.DeleteItem(m_listcontrol.GetNextItem(-1,LVNI_SELECTED));
        
        
        
        
        
       
二、其他技巧
1.如何设置ListView控件的完全行(Full Row)选项。
    这个控件有个地方常常很恼人,那就是在报告视图中选中一行时,它只加亮最左边的一个栏目。
    为了克服这个问题,这里告诉你一个方法:向ListView控件发送一个LVM_SETEXTENDEDLISTVIEWSTYLE消息。
::SendMessage(m_list1.m_hWnd, LVM_SETEXTENDEDLISTVIEWSTYLE,LVS_EX_FULLROWSELECT, LVS_EX_FULLROWSELECT
 
阅读(545) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~