MFC ListControl的使用

1. 设置ListControl风格

1.1 四种风格

  LVS_ICON: 为每个item显示大图标
 
LVS_SMALLICON: 为每个item显示小图标
 
 LVS_LIST:显示一列带有小图标的item
 
LVS_REPORT: 显示item详细资料

1.2 设置风格及扩展风格

1.2.1 此部分转自:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceshellui5/html/wce50lrflistviewstyles.asp

      LONG lStyle;
      lStyle =GetWindowLong(m_list.m_hWnd, GWL_STYLE);//获取当前窗口style
      lStyle &= ~LVS_TYPEMASK; //清除显示方式位
      lStyle |= LVS_REPORT; //设置style
      SetWindowLong(m_list.m_hWnd, GWL_STYLE,lStyle);//设置style
      DWORD dwStyle =m_list.GetExtendedStyle();
      dwStyle |= LVS_EX_FULLROWSELECT;//选中某行使整行高亮(只适用与report风格的listctrl)
      dwStyle |= LVS_EX_GRIDLINES;//网格线(只适用与report风格的listctrl)
      dwStyle |= LVS_EX_CHECKBOXES;//item前生成checkbox控件
      m_list.SetExtendedStyle(dwStyle);//设置扩展风格
      注:listview的style请查阅msdn


1.2.2 此部分来自扬子江:

     DWORD dwStyle = GetWindowLong(m_DeviceName.m_hWnd, GWL_STYLE); 
     dwStyle &= ~(LVS_TYPEMASK);
     dwStyle &= ~(LVS_EDITLABELS);
     SetWindowLong(m_DeviceName.m_hWnd, GWL_STYLE, dwStyle | LVS_REPORT|LVS_NOLABELWRAP|LVS_SHOWSELALWAYS); //LVS_SHOWSELALWAYS为:一直选中item
     m_DeviceName.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT/*|LVS_EX_CHECKBOXES*/);

 

2. 添加列

    m_DeviceName.InsertColumn(0, _T("序号"), LVCFMT_LEFT, 50, 0);
    m_DeviceName.InsertColumn(1, _T("设备名称"), LVCFMT_LEFT, 150, 1);

3. 添加行

    由于List Control控件不允许直接添加列信息,所以需要先向控件中添加行,添加行代码如下:

    int row =m_CtrlList2.GetItemCount();
    m_CtrlList.InsertItem(row,"");

    m_list.SetItemText(nRow, 1, jacky);//设置数据

 

4. 删除选中行

 POSITION ps;
 int iIndex;
 ps = m_DeviceMatch.GetFirstSelectedItemPosition();
 iIndex = m_DeviceMatch.GetNextSelectedItem(ps);
 m_DeviceMatch.DeleteItem(iIndex);

5. 得到选中行的文本

   CString strName = _T("");
   POSITION ps;
   int iIndex;

   ps = m_DeviceName.GetFirstSelectedItemPosition();
   iIndex = m_DeviceName.GetNextSelectedItem(ps);
   strName = m_DeviceName.GetItemText(iIndex, 1);

6. 选中与取消选中

    int nIndex = 0;
    //选中
    m_DeviceName.SetItemState(nIndex, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED);
    //取消选中
    m_DeviceName.SetItemState(nIndex, 0, LVIS_SELECTED|LVIS_FOCUSED);

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值