MFC中listctrl的使用

  首先给他绑上一个CListCtrl类型的变量m_Listctrl。
初始化:
 // 插入列表控件纵列
 m_listctrl.InsertColumn(0, "ID", LVCFMT_LEFT, 110);//第0列
 m_listctrl.InsertColumn(1, "Number", LVCFMT_LEFT, 110);//第1列
 m_listctrl.InsertColumn(2, "Name", LVCFMT_LEFT, 110);//第2列

 // 设置列表控件扩展样式为整行高亮,否则为第0列
 
m_listctrl.SetExtendedStyle(LVS_EX_FULLROWSELECT);
 
 int i;
 int nItem;
 CString f1, f2, f3;

 for(i=0;i<9;i++){
  // 格式化字符串
  f1.Format("SerialNum: %d", i+1);
  f2.Format("Row %d Column 2", i+1);
  f3.Format("Row %d Column 3", i+1);
  nItem=m_listctrl.InsertItem(i, f1);  //插入第0列
  m_listctrl.SetItemText(nItem, 1, f2);  // 插入第1列
  m_listctrl.SetItemText(nItem, 2, f3);  // 插入第2列
 }

 

常用操作:

//单击某一行,行号传递到IndexInFieldList(当前所在行)
void CTest100401Dlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
 // TODO: Add your control notification handler code here
 POSITION pos;
 pos = m_listctrl.GetFirstSelectedItemPosition();
 IndexInFieldList = m_listctrl.GetNextSelectedItem(pos);  // 得到项目索引

 *pResult = 0;
}

//获得总行数
m_listctrl.GetItemCount()

//读取当前行第一列
temp1=m_listctrl.GetItemText(IndexInFieldList,0);

//删除当前行
m_listctrl.DeleteItem(IndexInFieldList);

//插入新行
 int nitem;
 nitem=m_listctrl.InsertItem(IndexInFieldList-1,temp1);
 m_listctrl.SetItemText(nitem,1,temp2);
 m_listctrl.SetItemText(nitem,2,temp3);

// 使得IndexInFieldList-1位置处项目高亮显示并获得焦点
 UINT flag = LVIS_SELECTED|LVIS_FOCUSED;
 m_listctrl.SetItemState(IndexInFieldList, flag, flag);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值