Macro ListView_SetItemState
Modifica el estado de un ítem en un control list-view. Se puede usar esta macro o enviar el mensaje LVM_SETITEMSTATE explícitamente.
Definición
BOOL ListView_SetItemState( HWND hwndLV, int i, UINT state, UINT mask );
Descripción
- hwndLV
- Un manipulador del control list-view.
- i
- Índice del ítem del list-view. Si este parámetro es -1, entonces el cambio de estado se aplicará a todos los ítems.
- state
- Los nuevos bits de estado para el ítem. El parámetro mask indica los bits válidos del parámetro state. La macro ignora los bits en el parámetro state si los bits correspondientes no están asignados en el parámetro mask. EL byte de menor peso contiene un conjunto de banderas de bits que indican el estado del ítem. Este byte puede ser una combinación de los siguientes valores:
Valor Significado LVIS_CUT El ítem está marcado para una operación de cortar y pegar. LVIS_DROPHILITED El ítem está resaltado como un objetivo de una operación de drag-and-drop. LVIS_FOCUSED El ítem tiene el foco, de modo que está rodeado por el rectángulo estándar de foco. Aunque más de un ítem puede estar seleccionado, solo uno puede tener el foco. LVIS_SELECTED El ítem está seleccionado. La apariencia de un ítem seleccionado depende de si tiene el foco y también de los colores del sistema usados para la selección. Los ítems solo pueden mostrarse como seleccionados si el control list-view tiene el foco o si usa el estilo LVS_SHOWSELALWAYS. - mask
- Bits del parámetro state que se quieren activar o eliminar. También se puede usar ListView_SetItemState para asignar o eliminar bits. Para asignar un índice de imágen superpuesta, activar los bits LVIS_OVERLAYMASK. Para asignar un índice de imagen de estado, asignar los bits LVIS_STATEIMAGEMASK.
Valor de retorno
Devuelve TRUE si tiene éxito, o FALSE en caso contrario.
Observaciones
Un valor de estado de ítem incluye un conjunto de banderas de bits que indican el estado del ítem. El valor de estado puede incluir también índices de listas de imágenes que indiquen la imagen de estado del ítem y la imagen superpuesta.
El parámetro mask especifica que bits de estado se quieren modificar, y el parámetro state especifica los nuevos valores para esos bits. Para asignar un bit en el estado interno de un ítem, hay que activarlo en ambos parámetros mask y state. Para eliminar un bit en el estado interno del ítem, se debe asignar en el parámetro mask y eliminar en el parámetro state. Para dejar si cambios un bit en el estado interno del ítem, eliminarlo en el parámetro mask.
Los bits 8 a 11 del parámetro state especifican el índice basado en uno de una imagen superpuesta en la lista de imágenes del control. Tanto la lista de imágenes de iconos grandes como la de iconos pequeños pueden tener imágenes superpuestas. La imagen superpuesta se muestra sobre la imagen del icono del ítem. Si esos bits son cero, el ítem no tiene imagen superpuesta. Para aislar estos bits se usa la máscara LVIS_OVERLAYMASK. Para especificar un índice de imagen superpuesta, se usa la macro INDEXTOOVERLAYMASK.
Los bits 12 a 15 del parámetro state especifican el índice basado en uno de una imagen de estado en la lista de imágenes del control. La imagen de estado se muestra al lado del icono de ítem para indicar un estado definido por la aplicación. Si esos bits son cero, el ítem no tiene imagen de estado. Para aislar estos bits se usa la máscara LVIS_STATEIMAGEMASK . Para especificar un índice de imagen superpuesta, se usa la macro INDEXTOSTATEIMAGEMASK .