Compartilhar via


Função DrawIconEx (winuser.h)

Desenha um ícone ou cursor no contexto do dispositivo especificado, executando as operações de varredura especificadas e alongando ou compactando o ícone ou 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 pelo 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 usar um dos valores a seguir.

Valor Significado
DI_COMPAT
0x0004
Este sinalizador é ignorado.
DI_DEFAULTSIZE
0x0008
Desenha o ícone ou cursor usando a largura e a altura especificadas pelos valores de métrica do sistema para ícones, se os parâmetros cxWidth e cyWidth estiverem 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 Observações.
DI_MASK
0x0001
Desenha o ícone ou cursor usando a máscara. Consulte Observações.
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 Observações.

Valor retornado

Tipo: BOOL

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

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

Comentários

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 de varreduraSRCCOPY.

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 o código de operação de varreduraSRCAND e a imagem é desenhada com o código de operação de varreduraSRCINVERT

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
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winuser.h (inclua Windows.h)
Biblioteca User32.lib
DLL User32.dll
Conjunto de APIs ext-ms-win-ntuser-gui-l1-1-0 (introduzido no Windows 8)

Confira também

Conceitual

CopyImage

DrawIcon

Ícones

Loadimage

Referência

Bitblt

Alphablend

BLENDFUNCTION