int GetSelectionMark( );
Return Value
The zero-based selection mark, or -1 if there is no selection mark.
Remarks
This member function implements the behavior of the Win32 macro,ListView_GetSelectionMark, as described in the Platform SDK.
这个是我以前一直用的,不过这个函数有个缺点,他会保留你上次选中的项,所以当你单击空白的地方时,他还会返回上次选中的项.
int GetNextItem( int nItem, int nFlags ) const;
Return Value
The index of the next item if successful, or -1 otherwise.
Parameters
nItem
Index of the item to begin the searching with, or -1 to find the first item that matches the specified flags. The specified item itself is excluded from the search.
nFlags
Geometric relation of the requested item to the specified item, and the state of the requested item. The geometric relation can be one of these values:
- LVNI_ABOVE Searches for an item that is above the specified item.
- LVNI_ALL Searches for a subsequent item by index (the default value).
- LVNI_BELOW Searches for an item that is below the specified item.
- LVNI_TOLEFT Searches for an item to the left of the specified item.
- LVNI_TORIGHT Searches for an item to the right of the specified item.
The state can be zero, or it can be one or more of these values:
- LVNI_DROPHILITED The item has the LVIS_DROPHILITED state flag set.
- LVNI_FOCUSED The item has the LVIS_FOCUSED state flag set.
- LVNI_SELECTED The item has the LVIS_SELECTED state flag set.
If an item does not have all of the specified state flags set, the search continues with the next item.
Remarks
Searches for a list view item that has the specified properties and that bears the specified relationship to a given item.
使用这个函数也可以得到当前选中的项,不过要设置参数.
int iPos = m_cList.GetNextItem( -1, LVNI_ALL | LVNI_SELECTED);