Share via


Función DrawIconEx (winuser.h)

Dibuja un icono o cursor en el contexto de dispositivo especificado, realiza las operaciones de ráster especificadas y estira o comprime el icono o 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 DI_DEFAULTSIZE no se usa, 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

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 valores siguientes.

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 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 la sección Comentarios.
DI_MASK
0x0001
Dibuja el icono o el cursor mediante la máscara. Vea la sección Comentarios.
DI_NOMIRROR
0x0010
Dibuja el icono como un icono no admirado. 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 la sección Comentarios.

Valor devuelto

Tipo: BOOL

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

Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.

Comentarios

La función DrawIconEx coloca la esquina superior izquierda del icono en la ubicación especificada por los parámetros xLeft e yTop . La ubicación está sujeta al modo de asignación actual del contexto de 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 trama de SRCCOPY.

Si se establecen las marcas de DI_IMAGE y DI_MASK :

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 Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winuser.h (incluya Windows.h)
Library User32.lib
Archivo DLL User32.dll
Conjunto de API ext-ms-win-ntuser-gui-l1-1-0 (introducido en Windows 8)

Consulte también

Conceptual

CopyImage

DrawIcon

Iconos

LoadImage

Referencia

BitBlt

AlphaBlend

BLENDFUNCTION