Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 июня!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Давно заметил, что всё-таки языки С/C++ это не самый лучший вариант программирования под Windows. Сейчас появилась масса более современных и удобных языков, например тот же Python - кроссплатформенный язык, очень легок в изучение. Я его изучил буквально за несколько дней по этому курсу - ссылка. Автор постарался, там видеоуроки на удивление легкие и понятные.

Функция 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


<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS