CListCtrl使用

1、插入list control控件
2、为这个控件添加关联变量
 CListCtrl m_list
3、添加列
int InsertColumn( int nCol, const LVCOLUMN* pColumn );

int InsertColumn( int nCol, LPCTSTR lpszColumnHeading, int nFormat = LVCFMT_LEFT, int nWidth = -1, int nSubItem = -1 );
 nCol 列序号
 pColumn 列信息结构LVCOLUMN
 lpszColumnHeading 列名称
 nFormat 列显示位置,默认居左
 nWidth 列宽度,默认不设置
 nSubItem 和这个列相关子项序号,默认没有子项相关
 示例:
  m_list.InsertColumn(0,"column1");
  m_list.InsertColumn(0,"column1",LVCFMT_CENTER,200,-1 );
4、设置列宽度
 void GetClientRect( LPRECT lpRect )//得到客户区域
 BOOL SetColumnWidth( int nCol, int cx );
 示例:
 CRect rect4;
 m_list.GetClientRect(rect4);
 m_list.SetColumnWidth(0,rect4.Width()/4);
5、设置显示样式
LVS_EX_FULLROWSELECT,当一个项目行选择时,它和它的所有子项都将高亮显示
LVS_EX_GRIDLINES,显示项和它子项周围边线
LVS_EX_HEADERDRAGDROP,头可以被拖动
LVS_EX_ONECLICKACTIVATE,当用户单击控件时,发送一个 LVN_ITEMACTIVATE通造消息给父窗口,它也必需启用hot tracking-当用户鼠标移动到一个项目时,高亮显示但不选择。
LVS_EX_TWOCLICKACTIVATE,当用户双击控件时,发送一个 LVN_ITEMACTIVATE通造消息给父窗口
LVS_EX_UNDERLINEHOT,hot项显示下划线。
LVS_EX_UNDERLINECOLD,hot项不显示下划线。
LVS_EX_TRACKSELECT,Enables hover selection in a list view control
DWORD wExStyle
=LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP|LVS_EX_ONECLICKACTIVATE|LVS_EX_UNDERLINEHOT;
     m_list.SetExtendedStyle(dwExStyle);

6、插入数据
int InsertItem( int nItem, LPCTSTR lpszItem );
 nItem,项序号
 BOOL SetItemText( int nItem, int nSubItem, LPTSTR lpszText );
 nItem,那一项被设置
 nSubItem,子项序号
示例:
        m_list.InsertItem(0,"大海"); //插入第一个数据,即第0条数据。先插入,然后在修改其他的信息。
        m_list.SetItemText(0,1,"mp3");//修改第0条数据的其他信息。
        m_list.SetItemText(0,2,"4:20");
        m_list.SetItemText(0,3,"c://");

7、添加事件响应函数
 LVS_EX_ONECLICKACTIVATE,当用户单击控件时,发送一个 LVN_ITEMACTIVATE通造消息给父窗口
 消息处理函数声明
  afx_msg void OnITEMACTIVATE(NMHDR* pNMHDR, LRESULT* pResult);
 消息处理函数映射
  ON_NOTIFY(LVN_ITEMACTIVATE, IDC_LIST1, OnITEMACTIVATE)
 消息处理函数实现
  void CViewDlg::OnITEMACTIVATE(NMHDR* pNMHDR, LRESULT* pResult)
  {
   NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
   if(pNMListView->iItem != -1)
       {
           char strtemp[100];
     memset(strtemp,0,sizeof(strtemp));
          sprintf(strtemp,"row%d,col%d",pNMListView->iItem, pNMListView->iSubItem);
       AfxMessageBox(strtemp);
       }  
   *pResult = 0; 
  }
 
4.删除所有数据
        m_list.DeleteAllItems();

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值