Функция DrawIconEx рисует значок или курсор в контекст указанного устройства, выполняя указанные растровые операции, и растягивая или сжимая значок или курсор как задано.
Синтаксис
BOOL DrawIconEx( HDC hdc, int xLeft, int yTop, HICON hIcon, int cxWidth, int cyWidth, UINT istepIfAniCur, HBRUSH hbrFlickerFreeDraw, UINT diFlags ); |
Параметры
hdc
[in] Дескриптор контекста устройства, в котором значок или курсор должны рисоваться.
xLeft
[in] Определяет логическую координату x левого верхнего угла значка или курсора.
yTop
[in] Определяет логическую координату y левого верхнего угла значка или курсора.
hIcon
[in] Дескриптор рисуемого значка или курсора. Этот параметр может идентифицировать анимированный курсор.
cxWidth
[in] Определяет логическую ширину значка или курсора. Если этот параметр - нуль, а параметр diFlags - DI_DEFAULTSIZE, чтобы установить ширину, функция использует системное метрическое значение SM_CXICON или SM_CXCURSOR. Если этот параметр - нуль, а DI_DEFAULTSIZE не используется, функция использует фактическую ширину ресурса.
cyWidth
[in] Определяет логическую высоту значка или курсора. Если этот параметр - нуль, а параметр diFlags - DI_DEFAULTSIZE, чтобы установить ширину, функция использует системное метрическое значение SM_CYICON или SM_CYCURSOR,. Если этот параметр - нуль, а DI_DEFAULTSIZE не используется, функция использует фактическую высоту ресурса.
istepIfAniCur
[in] Определяет индекс рамки для рисования, если hIcon идентифицирует анимированный курсор. Этот параметр игнорируется, если hIcon не идентифицирует анимированный курсор.
hbrFlickerFreeDraw
[in] Дескриптор кисти, которую система использует для немерцающего рисунка. Если hbrFlickerFreeDraw - допустимый дескриптор кисти, система создает закадровый точечный рисунок, используя указанную кисть для цвета фона, рисует значок или курсор в точечный рисунок, а затем копирует точечный рисунок в контекст устройства, идентифицированный hdc. Если hbrFlickerFreeDraw - НУЛЬ (NULL), система рисует значок или курсор непосредственно в контекст устройства.
diFlags
[in] Определяет флажки рисования. Этот параметр может быть одним из ниже перечисленных значений :
Флажок | Действие |
|
Рисует значок или курсор, используя системное изображение по умолчанию, а не изображение определенное пользователем. Дополнительную информацию смотри в статье
О курсорах. |
|
Рисует значок или курсор, используя ширину и высоту, определенную системными метрическими значениями для курсоров или значков, если параметры cxWidth и cyWidth установлены в нуль. Если этот флажок не определяется, а cxWidth и cyWidth установлены в нуль, функция использует фактический размер ресурса. |
|
Рисует значок или курсор, используя изображение. |
|
Рисует значок или курсор, используя маску. |
|
Windows XP: Значок рисуется как незеркальный значок. По умолчанию, он рисуется как зеркальный значок, если параметр hdc зеркалируется. |
|
|
Возвращаемое значение
Если функция завершается успешно, возвращаемое значение - не нуль.
Если функция завершается ошибкой, возвращаемое значение - нуль. Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError.
Замечания
Функция DrawIconEx помещает левый верхний угол значка в место, определенное параметрами xLeft и yTop. Местоположение зависит от текущего режима отображения контекста устройства.
Чтобы продублировать функцию DrawIcon (hDC, X, Y, hIcon), DrawIconEx вызывается следующим образом:
DrawIconEx (hDC, X, Y, hIcon, 0, 0, 0, NULL, DI_NORMAL | DI_COMPAT | DI_DEFAULTSIZE); |
Обзор Значки, Функции, используемые значками, CopyImage, DrawIcon, LoadImage
Размещение и совместимость DrawIconEx | ||
К | Windows XP | Да |
л | Windows 2000 Professional | Да |
и | Windows NT Workstation | Да версии 3.5 и выше |
е | Windows Me | Да |
н | Windows 98 | Да |
т | Windows 95 | Да |
С | Windows 2003 Server | Да |
е | Windows 2000 Server | Да |
р | Windows NT Server | Да версии 3.5 и выше |
в | ||
е | ||
р | ||
Используемая библиотека | User32.lib | |
Используемая DLL | user32.dll | |
Заголовочный файл | ||
- объявлено в | Winuser.h | |
- включено в | Windows.h | |
Unicode | ||
Замечания по платформе | Не имеется |