Estilos extendidos List-View

Usar el mensaje LVM_SETEXTENDEDLISTVIEWSTYLE o una de las macros ListView_SetExtendedListViewStyle o ListView_SetExtendedListViewStyleEx para emplear estos estilos extendidos en contrle list-view.

ConstanteDescripción
LVS_EX_AUTOAUTOARRANGEWindows Vista y posteriores. Organiza los iconos automáticamente si no se han asignado posiciones para ellos (Similar a LVS_AUTOARRANGE).
LVS_EX_AUTOCHECKSELECTWindows Vista y posteriores. Selecciona automáticamente los check boxes con un único click.
LVS_EX_AUTOSIZECOLUMNSWindows Vista y posteriores. Ajusta el tamaño de las columnas del list-view automáticamente.
LVS_EX_BORDERSELECTVersión 4.71 y posteriores. Cambia el color del borde cuando se selecciona un ítem, en lugar de resaltarlo.
LVS_EX_CHECKBOXES

Versión 4.70. Activa check boxes para ítems en un control list-view. Cuando se asigna este estilo, el control crea y asigna una lista de imágenes de estado con dos imágenes usando DrawFrameControl. La imagen de estado 1 es la casilla sin marcar, y la imagen de estado 2 es la casilla marcada. Asigna la imagen de estado a cero quita el check box.

Versión 6.00 y posteriores. Los check boxes son visibles y funcionales con todos los modos de vista excepto la vista de mosaico introducido con la versión 6 de ComCtl32.dll. Hacer click en un check box en vista de mosaico solo selecciona el ítem; el estado no cambia.

Se puede obtener el estado del check box para un ítem dado con ListView_GetCheckState. Para asignar el estado de check usar ListView_SetCheckState. Si este estilo está asignado, el control list-view cambia el estado de check automáticamente cuando el usuario hace click en el check box o presiona la barra espaciadora.

LVS_EX_COLUMNOVERFLOWIndica que se debe mostrar un botón de desbordamiento en vista de iconos/mosaico si no hay suficiente anchura de cliente para mostrar el conjunto completo de ítems de cabecera. El control list-view envía la notificación LVN_COLUMNOVERFLOWCLICK cuando se hace click en el botón de desbordamiento. Esta bandera solo es válida cuando también se especifica LVS_EX_HEADERINALLVIEWS.
LVS_EX_COLUMNSNAPPOINTSWindows Vista y posteriores. Ajusta la anchura de columna al mínimo cuando el usuario redimensiona una columna.
LVS_EX_DOUBLEBUFFERVersión 6.00 y posteriores. Pinta mediante doble-buffer, lo cual reduce el parpadeo. Este estilo extendido también activa la selección de marquesina con mezcla alfa en los sistemas en los que esté soportado.
LVS_EX_FLATSBActiva barras de scroll planas en el list-view. Si se necesita mayor control sobre la apariencia de las barras de scroll, se deben manipular las barras de scroll del list-view directamente usando las APIs de Flat Scroll Bar. Si las métricas del sistema cambian, también se deben asjustar las métricas del la barra de scroll con FlatSB_SetScrollProp.
LVS_EX_FULLROWSELECTCuando un ítem es seleccionado, el ítem y todos los subítems son resaltados. Este estilo solo está disponible en conjunción con el estilo LVS_REPORT.
LVS_EX_GRIDLINESMuestra líneas de cuadrícula alrededor de ítems y subítems. Este estilo está disponible solo en conjunción con el estilo LVS_REPORT.
LVS_EX_HEADERDRAGDROPActiva el reordenamiento de columnas mediante drag-and-drop en un control list-view. Este estilo solo está disponible para controles list-view que usen el estilo LVS_REPORT.
LVS_EX_HEADERINALLVIEWSWindows Vista y posteriores. Muestra cabeceras de columnas en todos los modos de vista.
LVS_EX_HIDELABELSVersión 6.00 y posteriores. Oculta las etiquetas en en vista de iconos e inconos pequeños.
LVS_EX_INFOTIPCuando un control list-view usa el estilo LVS_EX_INFOTIP, el código de notificación LVN_GETINFOTIP es enviado a la ventana padre antes de mostrar un tooltip de un ítem.
LVS_EX_JUSTIFYCOLUMNSWindows Vista y posteriores. Los iconos se alinean en columnas que ocupan todo el ancho de la vista.
LVS_EX_LABELTIPSi una etiqueta parcialmente oculta en cualquier mode de vista de lista carece de texto de tooltip, el control list-view desplegará la etiqueta. Si este estilo no está asignado, el control list-view desplegará las etiquetas ocultas solo en el modo de iconos grandes.
LVS_EX_MULTIWORKAREASSi el control list-view tiene el estilo LVS_AUTOARRANGE, el control no organizará automáticamente sus iconos hasta que se hayan definido una o más áreas de trabajo (ver LVM_SETWORKAREAS). Para ser efectivo, este estilo debe ser asignado antes de que se defina cualquier área de trabajo y de que sea añadido cualquier ítem al control.
LVS_EX_ONECLICKACTIVATEEl control list-view envía un código de notificación LVN_ITEMACTIVATE a la ventana padre cuando el usuario haga click en un ítem. Este estilo activa también el seguimiento caliente (hot tracking) en el control list-view. El seguimiento caliente significa que cuando el cursor se mueve sobre un ítem, es resaltado pero no seleccionado. Ver las observaciones para una explicación sobre la activación de ítems.
LVS_EX_REGIONALVersión 4.71 hasta versión 5.80 solo. No soportado en Windows Vista y siguientes. Asigna la región de la ventana del list-view para que incluya solo los iconos y el texto de ítems usando SetWindowRgn. Cualquier área que no sea parte de un ítem es excluida de la región de ventana. Este estilo solo está disponible para controles list-view que usen el estilo LVS_ICON.
LVS_EX_SIMPLESELECTVersión 6.00 y siguientes. En vista de iconos, mueve la imagen de estado del control a la parte superior derecha de la representación del icono grande. En otras vistas no hay cambios. Cuando el usuario cambia el estado usando la barra espaciadora, todos los ítems seleccionados cambian de estado, so solo el ítem con el foco.
LVS_EX_SINGLEROWVersión 6.00 y posteriores. No usado.
LVS_EX_SNAPTOGRIDVersión 6.00 y posteriores. En vista de iconos, los iconos se ajustan automáticamente a una cuadrícula.
LVS_EX_SUBITEMIMAGESPermite mostrar imágenes para subítems. Este estilo solo está disponible en conjunción con el estilo LVS_REPORT.
LVS_EX_TRACKSELECTEste estilo activa el seguimiento caliente (hot tracking) en el control list-view. El seguimiento caliente significa que un ítem es seleccionado automáticamente cuando el cursor permanece sobre un ítem durante cierto periodo de tiempo. El retraso puede ser modificado desde el valor por defecto con el mensaje LVM_SETHOVERTIME. Este estilo se puede aplicar a todos los estilos de control list-view. Se puede consultar si la selección hot-track está activa mediante una llamada a SystemParametersInfo.
LVS_EX_TRANSPARENTBKGNDWindows Vista y posteriores. El fondo es dibujador por la ventana padre mediante WM_PRINTCLIENT.
LVS_EX_TRANSPARENTSHADOWTEXTWindows Vista y posteriores. Activa el texto en sobra solo en fondos transparentes.
LVS_EX_TWOCLICKACTIVATEEl control list-view envía un código de notificación LVN_ITEMACTIVATE a la ventana padre cuando el usuario hace doble click sobre un ítem. Este estilo activa también el seguimiento caliente (hot tracking) en el control list-view. El seguimiento caliente significa que cuando el cursor se mueve sobre un ítem, es resaltado pero no seleccionado. Ver las observaciones para una explicación sobre la activación de ítems.
LVS_EX_UNDERLINECOLDHace que los elementos no calientes que pueden ser activados se muestren con texto subrayado. Este estilo requiere que también se asigne el estilo LVS_EX_TWOCLICKACTIVATE. Ver las observaciones para una explicación sobre la activación de ítems.
LVS_EX_UNDERLINEHOTHace que los elementos calientes que pueden ser activados se muestren con texto subrayado. Este estilo requiere que los estilos LVS_EX_ONECLICKACTIVATE o LVS_EX_TWOCLICKACTIVATE sean asignados también. Ver las observaciones para una explicación sobre la activación de ítems.

Observaciones

Nota: La versión 6 de comctl32.dll no es redistribuible per está incluida en Windows Vista y posteriores. Para usar la versión 6 de comctl32.dl se debe especificar en el manifiesto.

Un ítem se convierte en caliente cuando el ratón permanece sobre él. Si el hot-tracking está activo, los ítems calientes serán resaltados, pero el usuario deberá hacer click sobre el al menos una vez para seleccionarlo. Activar un ítem hace que el control list-view envíe una notificación LVN_ITEMACTIVATE. Un ítem puede ser seleccionado cuando esté en un estado en el cual un click lo seleccionará.

Si el estilo LVS_EX_ONECLICKACTIVATE está asignado, solo se requiere un click para seleccionar cualquier ítem, se modo que todos los ítems pueden ser seleccionados. Si el estilo LVS_EX_TWOCLICKACTIVATE está asignado, se requieren dos clicks para seleccionar un ítem. Con este estilo, el ítem solo puede ser seleccionado después de que se haya hecho click una vez.

Asignar el estilo LVS_EX_UNDERLINEHOT hará que el texto de cualquier ítem caliente que pueda ser seleccionado se muestre subrayado. Asignar el estilo LVS_EX_UNDERLINECOLD hará que el texto de los ítems no calientes, pero que puedan ser seleccionados, se muestren subrayados.