WinMain » 18 янв 2005, 12:20
При таком способе тебе постоянно придётся привязываться к сообщению NM_CLICK или LVN_ITEMACTIVATE. Чтобы получить индекс выделенной позиции списка без обработки этих сообщений, есть другой способ:
int nItem = (int)::SendMessage(hWndLV, LVM_GETNEXTITEM, (WPARAM)-1, MAKELPARAM(LVNI_ALL | LVNI_SELECTED, 0));
где hWndLV - дескриптор (хэндл) окна списка типа ListView.
При этом сам список должен иметь флаг LVS_SINGLESEL (выделение только одной позиции).
При таком способе тебе постоянно придётся привязываться к сообщению NM_CLICK или LVN_ITEMACTIVATE. Чтобы получить индекс выделенной позиции списка без обработки этих сообщений, есть другой способ:
int nItem = (int)::SendMessage(hWndLV, LVM_GETNEXTITEM, (WPARAM)-1, MAKELPARAM(LVNI_ALL | LVNI_SELECTED, 0));
где hWndLV - дескриптор (хэндл) окна списка типа ListView.
При этом сам список должен иметь флаг LVS_SINGLESEL (выделение только одной позиции).