CListCtrl 操作
1、设置表格线、全行选中等风格
DWORD dwStyle = m_list.GetExtendedStyle();
dwStyle |= LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_HEADERDRAGDROP;
m_list.SetExtendedStyle(dwStyle);
//m_ListCtrl.SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE, 0, (LPARAM)lStyle);
2、设置某一行被选中或取消选中:
m_listctrl.SetItemState(index, LVIS_SELECTED, LVIS_SELECTED);
取消: m_listctrl.SetItemState(index, 0, LVIS_SELECTED);
3、设置某一行获得焦点、选中:
m_listctrl.SetItemState(index, LVIS_FOCUSED|LVIS_SELECTED, LVIS_FOCUSED|LVIS_SELECTED);
4、判断选中行
方法一:
CString str;
for(int i=0; i<m_list.GetItemCount(); i++)
{
if( m_list.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED )
{
str.Format(_T("选中了第%d行"), i);
AfxMessageBox(str);
}
}
方法二:
POSITION pos = m_list.GetFirstSelectedItemPosition();
if (pos == NULL)
RACE0("No items were selected!/n");
else
{
while (pos)
{
int nItem = m_list.GetNextSelectedItem(pos);
TRACE1("Item %d was selected!/n", nItem);
}
}
方法三:
int current_item=m_aelib_list.GetNextItem(-1,LVNI_ALL|LVNI_SELECTED);