Функция DrawIconEx (winuser.h)

Рисует значок или курсор в заданном контексте устройства, выполняя указанные растровые операции, а также растягивая или сжимая значок или курсор, как указано.

Синтаксис

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
);

Параметры

[in] hdc

Тип: HDC

Дескриптор контекста устройства, в который будет нарисован значок или курсор.

[in] xLeft

Тип: int

Логическая координата X левого верхнего угла значка или курсора.

[in] yTop

Тип: int

Логическая координата Y левого верхнего угла значка или курсора.

[in] hIcon

Тип: HICON

Дескриптор нарисованного значка или курсора. Этот параметр может идентифицировать анимированный курсор.

[in] cxWidth

Тип: int

Логическая ширина значка или курсора. Если этот параметр равен нулю, а параметр diFlagsDI_DEFAULTSIZE, функция использует значение системной метрики SM_CXICON для задания ширины. Если этот параметр равен нулю и DI_DEFAULTSIZE не используется, функция использует фактическую ширину ресурса.

[in] cyWidth

Тип: int

Логическая высота значка или курсора. Если этот параметр равен нулю, а параметр diFlagsDI_DEFAULTSIZE, функция использует значение системной метрики SM_CYICON для задания ширины. Если этот параметр равен нулю и DI_DEFAULTSIZE не используется, функция использует фактическую высоту ресурса.

[in] istepIfAniCur

Тип: UINT

Индекс рисуемого кадра, если hIcon определяет анимированный курсор. Этот параметр игнорируется, если hIcon не определяет анимированный курсор.

[in, optional] hbrFlickerFreeDraw

Тип: HBRUSH

Ручка кисти, которую система использует для рисования без мерцания. Если hbrFlickerFreeDraw является допустимым дескриптором кисти, система создает точечный рисунок вне экрана, используя указанную кисть для цвета фона, рисует значок или курсор в растровое изображение, а затем копирует растровое изображение в контекст устройства, определяемый hdc. Если hbrFlickerFreeDraw имеет значение NULL, система рисует значок или курсор непосредственно в контексте устройства.

[in] diFlags

Тип: UINT

Флаги рисования. Этот параметр может принимать одно из указанных ниже значений.

Значение Значение
DI_COMPAT
0x0004
Этот флаг отклонен.
DI_DEFAULTSIZE
0x0008
Рисует значок или курсор, используя ширину и высоту, заданные значениями системных метрик для значков, если параметры cxWidth и cyWidth равны нулю. Если этот флаг не указан, а для cxWidth и cyWidth задано значение 0, функция использует фактический размер ресурса.
DI_IMAGE
0x0002
Рисует значок или курсор с помощью изображения. См. заметки.
DI_MASK
0x0001
Рисует значок или курсор с помощью маски. См. заметки.
DI_NOMIRROR
0x0010
Рисует значок в виде значка без примирленного. По умолчанию значок рисуется как зеркальный значок, если hdc зеркально.
DI_NORMAL
0x0003
Сочетание DI_IMAGE и DI_MASK. См. заметки.

Возвращаемое значение

Тип: BOOL

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Функция DrawIconEx помещает левый верхний угол значка в расположение, указанное параметрами xLeft и yTop . Расположение зависит от текущего режима сопоставления контекста устройства.

Если задан только один из флагов DI_IMAGE и DI_MASK, то соответствующее растровое изображение рисуется с помощью кода растровой операцииSRCCOPY.

Если установлены флаги DI_IMAGE и DI_MASK :

Чтобы дублировать DrawIcon (hDC, X, Y, hIcon), вызовите DrawIconEx следующим образом:

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

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winuser.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll
Набор API ext-ms-win-ntuser-gui-l1-1-0 (представлено в Windows 8)

См. также раздел

Основные понятия

CopyImage

DrawIcon

Значки

LoadImage

Справочные материалы

BitBlt

AlphaBlend

BLENDFUNCTION