Estructura HDITEM

Definición

typedef struct _HDITEM {
  UINT    mask;
  int     cxy;
  LPTSTR  pszText;
  HBITMAP hbm;
  int     cchTextMax;
  int     fmt;
  LPARAM  lParam;
#if (_WIN32_IE >= 0x0300)
  int     iImage;
  int     iOrder;
#endif 
#if (_WIN32_IE >= 0x0500)
  UINT    type;
  void    *pvFilter;
#endif 
#if (_WIN32_WINNT >= 0x0600)
  UINT    state;
#endif 
} HDITEM, *LPHDITEM;

La estructura HD_ITEM contiene información sobre un ítem de un control de cabecera. Esta estructura sustituye a HD_ITEM.

Descripción

mask

Máscara que indica cuales de los otros miembros de la estructura contienen datos válidos. Este miembro puede ser una combinación de los siguientes valores:

ValorSignificado
HDI_BITMAPEl miembro hbm es válido.
HDI_DI_SETITEMVersión 4.70. Mientras se manipula el mensaje HDM_GETITEM, el control de cabecera puede que no tenga todos los valores necesarios para completar la petición. En ese caso, el control debe obtener de la aplicación esos valores mediante la notificación HDN_GETDISPINFO. Si se ha pasado HDI_DI_SETITEM en el mensaje HDM_GETITEM, el control almacenará cualquier valor retornado desde HDN_GETDISPINFO (en caso contrario los valores permanecen sin asignar.)
HDI_FORMATEl miembro fmt es válido.
HDI_FILTERVersión 5.80. Los miembros type y pvFilter son válidos. Se usa para filtrar los valores especificados en el miembro type.
HDI_HEIGHTEl miembro cxy es válido y especifica la altura del ítem.
HDI_IMAGEVersión 4.70. El miembro iImage es válido y especifica la imagen a mostrar con el ítem.
HDI_LPARAMEl miembro lParam es válido.
HDI_ORDERVersión 4.70. El miembro iOrder es válido y especifica el valor de orden del ítem.
HDI_STATEVersión 6.00 y Windows Vista. El miembro state es válido.
HDI_TEXTLos miembros pszText y cchTextMax son válidos.
HDI_WIDTHEl miembro cxy es válido y especifica la anchura del ítem.
cxy
Anchura o altura del ítem.
pszText
Un puntero a una cadena de item. Si el texto está siendo recuperado desde el control, este miembro debe ser inicializado para que apunte a un buffer de caracteres. Si se asigna el valor LPSTR_TEXTCALLBACK a este miembro, el control pedirá la información del texto para este item mediante el envío de un mensaje de notificación HDN_GETDISPINFO. Hay que tener en cuenta que aunque el control de cabecera permite una cadena de cualquier longitud sea almacenada como texto de un item, sólo se mostrarán los primeros 260 TCHARs.
hbm
Manipulador de mapa de bits del ítem.
cchTextMax
Longitud de la cadena del ítem, en TCHARs. Si el texto está siendo recuperado desde el control, este miembro debe contener el número de TCHARs en la dirección especificada por pszText.
fmt

Un conjunto de banderas de bit que especifican el formato del ítem.

Este miembro puede incluir uno de las siguentes banderas de bit de justificación de texto o de lectura de derecha a izquierda:

ValorSignificado
HDF_CENTERCentra el contenido del ítem.
HDF_LEFTAlinea a la izquierda el contenido del ítem.
HDF_RIGHTAlinea a la derecha el contenido del ítem.
HDF_RTLREADINGMuestra el texto usando el orden de lectura de derecha a izquierda en sistemas hebreo o árabes.

El valor anterior se combina con uno de los siguientes:

ValorSignificado
HDF_BITMAPEl ítem muestra un mapa de bits.
HDF_BITMAP_ON_RIGHTVersión 4.70. El mapa de bits aparece a la derecha del texto.
HDF_OWNERDRAWLa ventana propietaria del control de cabecera traza el ítem.
HDF_STRINGEl ítem muestra una cadena.

Combinaciones de banderas, los valores anteriores pueden ser combinados con:

ValorSignificado
HDF_IMAGEVersión 4.70. Muestra una imagen desde una lista de imágenes. La lista de imágenes se especifica enviando un mensaje HDM_SETIMAGELIST. El índice de la imagen se especifica en el miembro iImage de esta estructura.
HDF_JUSTIFYMASKAisla la porción de bits correspondientes con las tres banderas de justificación de texto listadas en la tabla anterior.
HDF_RTLREADINGNormalmente, windows muestra el texto de izquierda a derecha (LTR). Windows puede invertir ese orden para mostrar lenguajes como Hebreo o Árabe que se escriben de derecha a izquierda (RTL). Generalmente, el texto de cabeceras se lee en la misma dirección que el texto en su ventana padre. Si se asigna If HDF_RTLREADING, el texto de cabecera se lee en el orden opuesto al del texto en la ventana padre.
HDF_SORTDOWNVersión 6.00. Dibuja una fecha hacia abajo en este ítem. Esto se suele usar para indicar que la información en la ventana actual está ordenada en esta columna en orden descendente. Esta bandera no puede ser combinada con HDF_IMAGE o HDF_BITMAP.
HDF_SORTUPVersion 6.00. Dibuja una fecha hacia arriba en este ítem. Esto se suele usar para indicar que la información en la ventana actual está ordenada en esta columna en orden ascendente. Esta bandera no puede ser combinada con HDF_IMAGE o HDF_BITMAP.
HDF_CHECKBOXWindows Vista y Versión 6.00. El ítem muestra un checkbox. La bandera sólo es válida cuando primero se ha asignado el estilo HDS_CHECKBOXES en el control de cabecera.
HDF_CHECKEDWindows Vista y Versión 6.00. El ítem muestra un checkbox marcado. Esta bandera sólo es válida cuendo HDF_CHECKBOX también está asignado.
HDF_FIXEDWIDTHWindows Vista y Versión 6.00. La anchura del ítem no puede ser modificada por una acción del usuario para redimiensionarla.
HDF_SPLITBUTTONWindows Vista y Versión 6.00. El ítem muestra el botón de despliegue. La notificación HDN_DROPDOWN se envía cuando el botón de despliegue es pulsado.
lParam
Dato de ítem definido por la aplicación.
iImage
Versión 4.70. El índice basado en cero de una imagen dentro de una lista de imágenes. La imagen especificada será mostrada en el ítem de cabecera junto con cualquier imagen especificada en el campo hbm. Si iImage es asignado a I_IMAGECALLBACK, el control requiere la información de texto para este ítem usando un código de notificación HDN_GETDISPINFO. Para eliminar la imagen asignar este valor a I_IMAGENONE.
iOrder
Versión 4.70. El orden en el que el ítem aparece dentro del control de cabecera, de izquierda a derecha. Esto es, el valor para el ítem más a la izquierda es 0. El valor para el siguiente es 1, y así sucesivamente.
type

El tipo de filtro especificado por pvFilter. Los tipos posibles incluyen:

ValorSignificado
HDFT_ISSTRINGDatos de cadena.
HDFT_ISNUMBERDatos numéricos.
HDFT_HASNOVALUEIgnorar pvFilter.
HDFT_ISDATEVersión 6.00. Datos de fecha. El miembro pvFilter es un puntero a una estructura SYSTEMTIME.
pvFilter
La dirección de un dato de ítem definido por la aplicación. El tipo de filtro de datos se determina asignando el valor de bandera a este miembro. Usar la bandera HDFT_ISSTRING para indicar una cadena y HDFT_ISNUMBER para indicar un entero. Cuando la bandera HDFT_ISSTRING se usa pvFilter es un puntero a una estructura HDTEXTFILTER.
state

El estado. El único valor soportado para este miembro, el único válido, es:

ValorSignificado
HDIS_FOCUSEDEl ítem tiene el foco del teclado.

Observaciones

Nota: la versión 6 de Comctl32.dll no es redistribuible pero está incluida en Windows XP y posteriores. Para usar la versión 6 de Comctl32.dll, hay que especificarla en un manifiesto.