The following code sample demonstrates the usage of this function.CListCtrl* pListCtrl = (CListCtrl*) GetDlgItem(IDC_YOURLISTCONTROL); ASSERT(pListCtrl != NULL);POSITION pos = pList->GetFirstSelectedItemPosition(); if (pos == NULL) TRACE0("No items were selected!\n"); else { while (pos) { int nItem = pList->GetNextSelectedItem(pos); TRACE1("Item %d was selected!\n", nItem); // you could do your own processing on nItem here } }
那我在点击的时候能不能判断是否按了shift键 最好是能得到我开始按的那一行到我结束的那一行
处理WM_LBUTTONDOWN消息 OnLButtonDown(UINT nFlags, CPoint point ); nFlags 为 MK_SHIFT 时表示shift被按下
{
if( m_list.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED )
{
...
}
}
ASSERT(pListCtrl != NULL);POSITION pos = pList->GetFirstSelectedItemPosition();
if (pos == NULL)
TRACE0("No items were selected!\n");
else
{
while (pos)
{
int nItem = pList->GetNextSelectedItem(pos);
TRACE1("Item %d was selected!\n", nItem);
// you could do your own processing on nItem here
}
}
OnLButtonDown(UINT nFlags, CPoint point ); nFlags 为 MK_SHIFT 时表示shift被按下