Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Работа с растровыми изображениями. Иконки



Иконки используются для отображения окна в закрытом состоянии представляют собой не большое графическое изображение. При заполнении структуры WNDCLASSEX полю hIcon присваивается иконка размером 32x32 пикселя, а полю hIconSm-иконка 16x16 пикселей. Как и курсоры, иконки содержат две маски, что позволяет регулировать их прозрачность. Они могут храниться в файлах с расширением ICO либо в файлах с расширением RES. Иконка, которая должна использоваться во всех окнах класса, загружается одной из функций: LoadIcon, ExtractIcon, LoadResPicture. Синтаксис первых двух функций следующий. LoadIcon (ByValhInstanceAsLong, ByVallpIconNameAsLong) AsLong,

ExtractIcon (ByValhInstAsLong, ByVallpszExeFileNameAsString, ByValnIconIndexAsLong) AsLong,гдеlpIconName-именованный или числовой идентификатор базовой иконки;

hInst—этот аргумент может быть только App.hInstance;

lpszExeFileName-имя файла, из которого извлекаются иконки: исполнимый файл(exe), библиотека(dll) или отдельный ico-файл;

nIconIndex—номер извлекаемой иконки, или-1 для получения числа иконок в файле.

Если иконка базовая, то первый параметр у функции LoadIcon должен быть равен нулю. В среде Windows определены следующие базовые иконки: IDI_APPLICATION=0,IDI_EXCLAMATION= 1,IDI_QUESTION = 2, IDI_ASTERISK=3, IDI_HAND=4.

Кстати, функция ExtractIcon может загружать не только иконки, но и курсоры (для Windows они равнозначны).В программе можно создать собственную иконку функцией CreateIcon, а после е использования удалить функцией DeleteObject.

Для отображения в рабочей области окна иконки или курсора используется одна из следующих функций: DrawIcon (ByValhdcAsLong, ByValxLeftAsLong, ByValyTopAsLong, ByValhIconAsLong) AsLong, DrawIconEx (ByValhdcAsLong,ByValxLeftAsLong, ByValyTopAsLong, ByValhIconAsLong, ByValcxWidthAsLong, ByValcyHeightAsLong, ByValistepIfAniCurAsLong, ByValhbrFlickerFreeDrawAsLong, ByValdiFlagsAsLong) AsLong,гдеhDC—дескриптор контекста устройства, на котором будет выведена иконка. Если вывод иконки осуществляется на форму, то свойство AutoRedraw=True, а после вывода иконки нужно перерисовать объект методом Refresh; xLeft, yTop-координаты, в которые будет выведена иконка;

hIcon-дескриптор прорисовываемой иконки; cxWidth, cyHeight-размеры прорисовываемой иконки; istepIfAniCur-этот параметр указывает на номер кадра, если Вы загрузили анимированный курсор; hbrFlickerFreeDraw-дескриптор кисти для перерисовки значка. По документации, если этот параметр не опущен, то он должен снизить мерцание при прорисовке; diFlags—флаги прорисовки, которые могут иметь следующие значения: DI_NORMAL = 3 –прорисовка иконки полностью;

DI_IMAGE = 2 –прорисовка XOR-маски(изображение на черном фоне);DI_MASK = 1 –прорисовка AND-маски(черно-белый негатив). Для выделения иконки из exe-файла используется функция: ExtractAssociatedIcon(ByVal hInstAsLong, ByVallpIconPathAsString, lpiIconAsLong) AsLong,гдеlpIconPath—путь к exe-файлу с иконками; lpiIcon—номер иконки в файле.






Дата публикования: 2014-12-28; Прочитано: 191 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.04 с)...