ListView控件使用

在.h中

CListCtrl m_ListCtrl;

在.cpp中

//添加ListCtrl標題
 m_ListCtrl.InsertColumn(0,_T("標題"),LVCFMT_CENTER); //第一欄設置center屬性不能成功
 m_ListCtrl.SetColumnWidth(0,200);
 m_ListCtrl.InsertColumn(1,_T("位置"),LVCFMT_CENTER);
 m_ListCtrl.SetColumnWidth(1,140);

 //設置選擇整行屬性
 DWORD dwStyle = m_ListCtrl.GetExtendedStyle();
 dwStyle |= LVS_EX_FULLROWSELECT;  //整行選擇
 dwStyle |= LVS_EX_GRIDLINES;      //網格線
 m_ListCtrl.SetExtendedStyle(dwStyle);
//取得標題欄文字
  int nCol = m_ListCtrl.GetHeaderCtrl()->GetItemCount();  //取得標題欄列數

  HDITEM hdi;
  hdi.mask = HDI_TEXT;
  TCHAR buffer[MAX_LEN] = {0};  //必須先賦一臨時值後才能取出標題
  hdi.pszText = buffer;
  hdi.cchTextMax = MAX_LEN;
  int nItem = m_ListCtrl.GetItemCount();  //當前所有的記錄數
  m_ListCtrl.InsertItem(nItem,_T("")); //插入一行

  m_ListCtrl.GetHeaderCtrl()->GetItem(i,&hdi);
  CString str = hdi.pszText;

  m_combox.FindString(0,str);//在combox中查找指定的字符串

刪除ListView中的記錄:

int nCount = m_ListCtrl.GetItemCount();

//注:應該從後往前刪除,因爲如果從前刪除,則後面的記錄會上移,這樣會導致後面選中的記錄可能無法正確刪除

for (int i=nCount;i>=0;i--)

{

if (m_ListCtrl.GetItemState(i,LVIS_SELECTED)&LVIS_SELECTED)//選中

{

m_ListCtrl.DeleteItem(i);
}

}

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章