Compartir a través de


Función DrawIconEx (winuser.h)

Dibuja un icono o cursor en el contexto de dispositivo especificado, realiza las operaciones ráster especificadas y estira o comprime el icono o el cursor según se especifique.

Sintaxis

BOOL DrawIconEx(
  [in]           HDC    hdc,
  [in]           int    xLeft,
  [in]           int    yTop,
  [in]           HICON  hIcon,
  [in]           int    cxWidth,
  [in]           int    cyWidth,
  [in]           UINT   istepIfAniCur,
  [in, optional] HBRUSH hbrFlickerFreeDraw,
  [in]           UINT   diFlags
);

Parámetros

[in] hdc

Tipo: HDC

Identificador del contexto del dispositivo en el que se dibujará el icono o el cursor.

[in] xLeft

Tipo: int

Coordenada x lógica de la esquina superior izquierda del icono o cursor.

[in] yTop

Tipo: int

Coordenada y lógica de la esquina superior izquierda del icono o cursor.

[in] hIcon

Tipo: HICON

Identificador del icono o cursor que se va a dibujar. Este parámetro puede identificar un cursor animado.

[in] cxWidth

Tipo: int

Ancho lógico del icono o cursor. Si este parámetro es cero y el parámetro diFlags es DI_DEFAULTSIZE, la función usa el valor de métrica del sistema SM_CXICON para establecer el ancho. Si este parámetro es cero y no se usa DI_DEFAULTSIZE, la función usa el ancho real del recurso.

[in] cyWidth

Tipo: int

Alto lógico del icono o cursor. Si este parámetro es cero y el parámetro diFlags es DI_DEFAULTSIZE, la función usa el valor de métrica del sistema SM_CYICON para establecer el ancho. Si este parámetro es cero y no se usa DI_DEFAULTSIZE, la función usa el alto real del recurso.

[in] istepIfAniCur

Tipo: UINT

Índice del marco que se va a dibujar, si hIcon identifica un cursor animado. Este parámetro se omite si hIcon no identifica un cursor animado.

[in, optional] hbrFlickerFreeDraw

Tipo: HBRUSH de

Identificador de un pincel que el sistema utiliza para dibujar sin parpadeo. Si hbrFlickerFreeDraw es un identificador de pincel válido, el sistema crea un mapa de bits fuera de pantalla mediante el pincel especificado para el color de fondo, dibuja el icono o el cursor en el mapa de bits y, a continuación, copia el mapa de bits en el contexto del dispositivo identificado por hdc. Si hbrFlickerFreeDraw es NULL, el sistema dibuja el icono o el cursor directamente en el contexto del dispositivo.

[in] diFlags

Tipo: UINT

Marcas de dibujo. Este parámetro puede ser uno de los siguientes valores.

Valor Significado
DI_COMPAT
0x0004
Esta marca se omite.
DI_DEFAULTSIZE
0x0008
Dibuja el icono o el cursor con el ancho y alto especificados por los valores de métrica del sistema para los iconos, si los parámetros de cxWidth y cyWidth se establecen en cero. Si no se especifica esta marca y cxWidth y cyWidth se establecen en cero, la función usa el tamaño real del recurso.
DI_IMAGE
0x0002
Dibuja el icono o el cursor mediante la imagen. Vea comentarios.
DI_MASK
0x0001
Dibuja el icono o el cursor mediante la máscara. Vea comentarios.
DI_NOMIRROR
0x0010
Dibuja el icono como un icono sin admirar. De forma predeterminada, el icono se dibuja como un icono reflejado si hdc está reflejado.
DI_NORMAL
0x0003
Combinación de DI_IMAGE y DI_MASK. Vea comentarios.

Valor devuelto

Tipo: BOOL de

Si la función se ejecuta correctamente, el valor devuelto es distinto de cero.

Si se produce un error en la función, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.

Observaciones

La función DrawIconEx coloca la esquina superior izquierda del icono en la ubicación especificada por los parámetros xLeft y yTop. La ubicación está sujeta al modo de asignación actual del contexto del dispositivo.

Si solo se establece una de las marcas de DI_IMAGE y DI_MASK, el mapa de bits correspondiente se dibuja con el código de operación de ráster de SRCCOPY.

Si se establecen las marcas DI_IMAGE y DI_MASK:

  • Si el icono o el cursor es un icono o cursor de combinación alfa de 32 bits, la imagen se dibuja con AC_SRC_OVERfunción blend y se omite la máscara.
  • Para todos los demás iconos o cursores, la máscara se dibuja con el código de operación de SRCANDy la imagen se dibuja con el código de operación de ráster SRCINVERT

Para duplicar DrawIcon (hDC, X, Y, hIcon), llame a DrawIconEx de la siguiente manera:

DrawIconEx (hDC, X, Y, hIcon, 0, 0, 0, NULL, DI_NORMAL | DI_COMPAT | DI_DEFAULTSIZE); 

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de winuser.h (incluya Windows.h)
biblioteca de User32.lib
DLL de User32.dll
conjunto de API de ext-ms-win-ntuser-gui-l1-1-0 (introducido en Windows 8)

Consulte también

conceptual de

copyImage

drawIcon

iconos

LoadImage

de referencia de

bitblt de

AlphaBlend

BLENDFUNCTION