commctrl.h

Macro ListView_MapIDToIndex

Obtiene el índice del ítem al que corresponde un ID determinado. Se puede usar esta macro o enviar el mensaje LVM_MAPIDTOINDEX explícitamente.

Definición

INT ListView_MapIDToIndex(
    HWND hwnd,
    UINT  id
);

Descripción

hwnd
Un manipulador del control list-view.
id
Un valor UINT que contiene el ID único de un ítem.

Valor de retorno

Devuelve el índice más actual del ítem.

Observaciones

Los controles list-view internamente siguen los ítems mediante índices. Esto puede presentar problemas ya que los índices pueden cambiar durante la existencia del control.

Se puede usar esta macro para etiquetar un ítem con un ID cuando se crea. Se puede usar este ID para garantizar la unicidad durante la existencia del control list-view.

Para identificar de forma única un ítem, se puede tomar el índice devuelto por una llamada, por ejemplo ListView_InsertItem, e invocar el mensaje LVM_MAPINDEXTOID. El valor retornado es un ID único.

Si se necesita conocer el índice de un ítem después de crear un ID, llamar a LVM_MAPIDTOINDEX con el ID único, y devolverá el valor de su índice actual.

ListView_MapIDToIndex no está soportado con el estilo LVS_OWNERDATA.

En entornos multihilo solo se puede asegurar que se obtendrá el índice correcto en el hilo que posee el control list-view, y no en hilos de fondo.

Para usar ListView_MapIDToIndex se debe especificar la versión 6 de Comctl32.dll en el manifiesto.