Функция DrawIconEx.
Функция DrawIconEx рисует иконку или курсор на
указанном контексте устройства, проводя при этом
указанные растровые операции, а так же в случае
необходимости, растягивая или сжимая иконку или
курсор.
BOOL DrawIconEx(
HDC hdc,
int xLeft,
int yTop,
HICON hIcon,
int cxWidth,
int cyWidth,
UINT istepIfAniCur,
HBRUSH hbrFlickerFreeDraw,
UINT diFlags
);
Параметры
- hdc
- Дескриптор контекста устройства, на котором
иконка или курсор будет нарисованы.
- xLeft
- Логическая координата X верхнего левого угла
иконки или курсора.
- yTop
- Логическая координата Y верхнего левого угла
иконки или курсора.
- hIcon
- Дескриптор иконки или курсора. Этот параметр
также может указывать на анимированный курсор.
- cxWidth
- Логическая ширина иконки или курсора. Если этот
параметр равен нулю, и параметр diFlags равен
DI_DEFAULTSIZE, то функция для установки ширины
использует системные значения SM_CXICON или SM_CXCURSOR.
Если же этот парметр равен нулю, а DI_DEFAULTSIZE не
используется, то функция воспользуется реальным
размером ресурса иконки.
- cyWidth
- Логическая высота иконки или курсора. Если этот
параметр равен нулю, и параметр diFlags равен
DI_DEFAULTSIZE, то функция для установки высоты
использует системные значения SM_CXICON или SM_CXCURSOR.
Если же этот парметр равен нулю, а DI_DEFAULTSIZE не
используется, то функция воспользуется реальным
размером ресурса иконки.
- istepIfAniCur
- Если hIcon указывает на анимированный курсор,
то данный параметр содержит номер кадра для
рисования.Если же hIcon не указывает на
анимированный курсор, то данный параметр
игнорируется.
- hbrFlickerFreeDraw
- Дескриптор кисти, которая будет использоваться
системой для рисования без мерцания. Если hbrFlickerFreeDraw
имеет правильное значение кисти, то система
создаёт за кадром точечный рисунок (битмап),
используя указанную кисть для цвета фона, рисует
иконку или курсор, а затем копирует этот битмап
на контекст устройства, указанный в hdc. Если hbrFlickerFreeDraw
равен NULL, то система рисует иконку или курсор
прямо на констексте устройства.
- diFlags
- Параметр может иметь одно из следующийх
значений:
- DI_COMPAT
- Рисует иконку или курсор используя системную
картинку нежели пользовательскую. Windows NT4.0 и
позже: Этот флаг игнорируется.
- DI_DEFAULTSIZE
- Если параметры cxWidth и cyWidth равны нулю, то
функция будет рисовать иконку или курсор
используя ширину и высоту, указанные в системных
метриках по умолчанию для курсоров или иконок.
Если этот флаг не установлен, а параметры cxWidth
и cyWidth равны нулю, то функция будет
использовать реальный размер ресурса иконки.
- DI_IMAGE
- Рисует иконку или курсор используя картинку.
- DI_MASK
- Рисует иконку или курсор, используя маску.
- DI_NOMIRROR
- В Windows XP: Рисует иконку как неотражённую. По
умолчанию, если hdc отражён, то иконка рисуется
как отражённая.
- DI_NORMAL
- Комбинация DI_IMAGE и DI_MASK.
Возвращаемое значение
В случае успеха, возвращаемое значение не равно
нулю.
В случае ошибки, функция вернёт ноль. Для
получения более подробной информации о ошибке,
можно воспользоваться функцией 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);
Информация о функции
Заголовок |
Объявлена в Winuser.h, включена в Windows.h |
Библиотека |
User32.lib |
Минимальные ОС |
Включена начиная с Windows 95 и Windows NT 3.5 |
|