Função DrawIconEx (winuser.h)

Desenha um ícone ou cursor no contexto do dispositivo especificado, executando as operações de raster especificadas e alongando ou compactando o ícone ou o cursor, conforme especificado.

Sintaxe

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

Um identificador para o contexto do dispositivo no qual o ícone ou cursor será desenhado.

[in] xLeft

Tipo: int

A coordenada x lógica do canto superior esquerdo do ícone ou cursor.

[in] yTop

Tipo: int

A coordenada y lógica do canto superior esquerdo do ícone ou cursor.

[in] hIcon

Tipo: HICON

Um identificador para o ícone ou cursor a ser desenhado. Esse parâmetro pode identificar um cursor animado.

[in] cxWidth

Tipo: int

A largura lógica do ícone ou cursor. Se esse parâmetro for zero e o parâmetro diFlags for DI_DEFAULTSIZE, a função usará o valor de métrica do sistema SM_CXICON para definir a largura. Se esse parâmetro for zero e DI_DEFAULTSIZE não for usado, a função usará a largura real do recurso.

[in] cyWidth

Tipo: int

A altura lógica do ícone ou cursor. Se esse parâmetro for zero e o parâmetro diFlags for DI_DEFAULTSIZE, a função usará o valor de métrica do sistema SM_CYICON para definir a largura. Se esse parâmetro for zero e DI_DEFAULTSIZE não for usado, a função usará a altura real do recurso.

[in] istepIfAniCur

Tipo: UINT

O índice do quadro a ser desenhado, se hIcon identificar um cursor animado. Esse parâmetro será ignorado se hIcon não identificar um cursor animado.

[in, optional] hbrFlickerFreeDraw

Tipo: HBRUSH

Um identificador para um pincel que o sistema usa para desenho sem cintilação. Se hbrFlickerFreeDraw for uma alça de pincel válida, o sistema criará um bitmap fora da tela usando o pincel especificado para a cor da tela de fundo, desenhará o ícone ou cursor no bitmap e copiará o bitmap para o contexto do dispositivo identificado por hdc. Se hbrFlickerFreeDraw for NULL, o sistema desenhará o ícone ou o cursor diretamente no contexto do dispositivo.

[in] diFlags

Tipo: UINT

Os sinalizadores de desenho. Esse parâmetro pode ser um dos valores a seguir.

Valor Significado
DI_COMPAT
0x0004
Este sinalizador é ignorado.
DI_DEFAULTSIZE
0x0008
Desenha o ícone ou o cursor usando a largura e a altura especificadas pelos valores de métrica do sistema para ícones, se os parâmetros cxWidth e cyWidth forem definidos como zero. Se esse sinalizador não for especificado e cxWidth e cyWidth forem definidos como zero, a função usará o tamanho real do recurso.
DI_IMAGE
0x0002
Desenha o ícone ou cursor usando a imagem. Consulte Comentários.
DI_MASK
0x0001
Desenha o ícone ou cursor usando a máscara. Consulte Comentários.
DI_NOMIRROR
0x0010
Desenha o ícone como um ícone sem sorrisos. Por padrão, o ícone será desenhado como um ícone espelhado se hdc for espelhado.
DI_NORMAL
0x0003
Combinação de DI_IMAGE e DI_MASK. Consulte Comentários.

Valor de retorno

Tipo: BOOL

Se a função for bem-sucedida, o valor retornado não será zero.

Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.

Observações

A função DrawIconEx coloca o canto superior esquerdo do ícone no local especificado pelos parâmetros xLeft e yTop. O local está sujeito ao modo de mapeamento atual do contexto do dispositivo.

Se apenas um dos sinalizadores DI_IMAGE e DI_MASK estiver definido, o bitmap correspondente será desenhado com o código de operação dede SRCCOPY.

Se os sinalizadores DI_IMAGE e DI_MASK estiverem definidos:

  • Se o ícone ou cursor for um ícone ou cursor de combinação alfa de 32 bits, a imagem será desenhada com AC_SRC_OVERfunção de mesclagem e a máscara será ignorada.
  • Para todos os outros ícones ou cursores, a máscara é desenhada com ocódigo de operaçãoSRCANDe a imagem é desenhada com o código da operaçãoSRCINVERT

Para duplicar DrawIcon (hDC, X, Y, hIcon), chame DrawIconEx da seguinte maneira:

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

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000 Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho winuser.h (inclua Windows.h)
biblioteca User32.lib
de DLL User32.dll
conjunto de API ext-ms-win-ntuser-gui-l1-1-0 (introduzido no Windows 8)

Consulte também

Conceitual

CopyImage

DrawIcon

Ícones

LoadImage

de referência de

BitBlt

AlphaBlend

BLENDFUNCTION