commctrl.h

Estructura LVBKIMAGE

Contiene información sobre la imagen de fondo de un control list-view. Esta estructura se usa tanto para asignar como para recuperar información de la imagen de fondo.

Definición

typedef struct tagLVBKIMAGE {
  ULONG   ulFlags;
  HBITMAP hbm;
  LPSTR   pszImage;
  UINT    cchImageMax;
  int     xOffsetPercent;
  int     yOffsetPercent;
} LVBKIMAGE, *PLVBKIMAGE;

Descripción

ulFlags

Este miembro puede ser una o más de las siguientes banderas. Se puede usar el valor LVBKIF_SOURCE_MASK para enmascarar todo menos las banderas de origen. Se puede usar el valor LVBKIF_STYLE_MASK para enmascarar todo salvo las banderas de estilo.

ValorSignificado
LVBKIF_SOURCE_NONEEl control list-view no tiene imagen de fondo.
LVBKIF_SOURCE_HBITMAPSe suministra una imagen de fondo mediante el miembro hbm de LVBKIMAGE. Si el mensaje LVM_SETBKIMAGE tiene éxito, entonces el list-view obtendrá la propiedad del mapa de bits.
LVBKIF_SOURCE_URLEl miembro pszImage contiene la URL de la imagen de fondo.
LVBKIF_STYLE_NORMALLa imagen de fondo se muestra normalmente.
LVBKIF_STYLE_TILELa imagen de fondo se repite para llenar todo el fondo del control.
LVBKIF_FLAG_TILEOFFSETEspecifica las coordenadas de la primera tesela. Esta bandera solo es válida si también se especifica la bandera LVBKIF_STYLE_TILE. Si esta bandera no se especifica, la primera tesela empieza en la esquina superior izquierda del área de cliente. Si se usa la versión 6 de ComCtl32.dll los campos xOffsetPercent y yOffsetPercent contienen pixels, no valores porcentuales, para especificar las coordenadas de la primera tesela. La versión 6 de Comctl32.dll no es redistribuible pero está incluida en Windows Vista y posteriores. Además, se debe especificar la versión 6 de Comctl32.dll en el manifiesto.
LVBKIF_TYPE_WATERMARKSe suministra un mapa de bits de fondo de marca de agua en el miembro hbm de LVBKIMAGE. Si el mensaje LVM_SETBKIMAGE tiene éxito, entonces el control list-view toma posesión del mapa de bits.
LVBKIF_FLAG_ALPHABLENDVálido solo si también se especifica LVBKIF_TYPE_WATERMARK. Esta bandera indica que el mapa de bits suministrado via LVBKIF_TYPE_WATERMARK contiene un canal alfa válido.
hbm
El manipulador de un mapa de bits de fondo. Este miembro solo es válido si la bandera LVBKIF_SOURCE_HBITMAP está activa en ulFlags.
pszImage
Dirección de una cadena terminada en cero que contiene la URL de la imagen de fondo. Este miembro es válido solo si el flag LVBKIF_SOURCE_URL está activa en ulFlags. Este miembro debe ser inicializado para apuntar a un buffer que contiene o recibe el texto antes de enviar el mensaje.
cchImageMax
Tamaño del buffer en la dirección de pszImage. Si la información está siendo enviada al control, este miembro es ignorado.
xOffsetPercent
Porcentaje de área de cliente del control que la imagen debe desplazarse horizontalmente. Por ejemplo, al cero por ciento, la imagen se mostrará Junto al borde izquierdo del área de cliente del control. Al 50 por ciento, la imagen se mostrará centrada horizontalmente. Al 100 por ciento, la imagen se mostrará junto al borde derecho del área de cliente del control. Este miembro sólo es válido cuando se ha especificar el valor LVBKIF_STYLE_NORMAL en ulFlags. Si se especifican tanto LVBKIF_FLAG_TILEOFFSET como LVBKIF_STYLE_TILE en ulFlags, entonces el valor especifica pixels en lugar de desplazamiento porcentual de la tesela. En otro caso, el valor es ignorado.
yOffsetPercent
Porcentaje de área de cliente del control que la imagen debe desplazarse vericalmente. Por ejemplo, al cero por ciento, la imagen se mostrará Junto al borde superior del área de cliente del control. Al 50 por ciento, la imagen se mostrará centrada verticalmente. Al 100 por ciento, la imagen se mostrará junto al borde inverior del área de cliente del control. Este miembro sólo es válido cuando se ha especificar el valor LVBKIF_STYLE_NORMAL en ulFlags. Si se especifican tanto LVBKIF_FLAG_TILEOFFSET como LVBKIF_STYLE_TILE en ulFlags, entonces el valor especifica pixels en lugar de desplazamiento porcentual de la tesela. En otro caso, el valor es ignorado.

Observaciones

Esta estructura es usada con los mensajes LVM_GETBKIMAGE y LVM_SETBKIMAGE.

El fichero de cabecera commctrl.h define LVBKIMAGE como un alias que selecciona automáticamente la versión ANSI o Unicode de esta estructura basándose en la constante del preprocesador UNICODE. Mezclar el uso de alias de codificación neutral con código que no use esa codificación puede producir desajustes que resulten en errores de compilación o de ejecución.