Растровые изображения, пиктограммы и метафайлы, страница 9

Createlcon                               • Windows 98   • Windows 2000

Описание

Функция Createlcon позволяет создать пиктограмму с указанным размером, цветами и двоичными шаблонами. Эта функция является альтернативой загрузке пиктограмм из файла ресурса и позволяет создавать изображения пиктограмм динамически в ходе работы приложения. Пиктограмма может быть создана на основе двоичных данных, растрового изображения или аппаратно-независимого растрового изображения (DIB). Пиктограмма создается путем объединения двух растровых изображений с помощью масок AND и XOR. Маска AND всегда представляет собой монохромное растровое изображение с одним битом на пиксель. В табл. 13.6 показано, как можно комбинировать два растровых изображения.

Таблица 13.6. Двоичные маски монохромной пиктограммы

Значения двоичной маски AND

Значения двоичной маски XOR

Результат вывела на экран

0

0

Черный цвет

0

1

Белый цвет

1

0

Прозрачный цвет

1

1

Инвертированный цвет

Синтаксис

HICON Createlcon( HINSTANCE hlnst, int nWidth, int nHeight, BYTE cPlanes, BYTE cBitsPixel, CONST BYTE* IpbANDbits, CONST BYTE* IpbXORbits )

Параметры hlnst

HINSTANCE. Дескриптор экземпляра модуля, создавшего пиктограмму.

nWidth

int. Ширина пиктограммы в пикселях.

nHeight

int. Высота пиктограммы в пикселях.

cPlanes

BYTE. Число цветовых плоскостей в двоичной маске XOR пиктограммы.

cBitsPixel

BYTE. Число битов на пиксель в двоичной маске XOR пиктограммы.

ipbANDbits

CONST BYTE*. Указатель на массив двоичных данных монохромной изображения, содержащий маску AND для пиктограммы.

ipbXORbits

CONST BYTE*. Указатель на массив двоичных данных, содержащий маску XOR для пиктограммы. Указатель может содержать адрес блока памяти, в котором находится монохромное растровое изображение или аппарат-но-зависимое цветное растровое изображение.

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

HICON. Дескриптор новой пиктограммы. В случае возникновения ошибки возвращаемое значение — NULL.

Включаемый файл

winuser.h

См. также

Destroylcon, CreatelconFromResource, CreatelconFromResourceEx, Createlconlndirect, GetSystemMetrics

Пример

В следующем примере (рис. 13.7) путем непосредственного задания двоичных значений для масок AND и XOR пиктограммы создается монохромная пиктограмма. Пиктограмма создается во время обработки сообщения \VM_CREATE и отображается в клиентской области при получении сообщения WM_PAINT.

CreatelconFromResource                 * Windows 98   • Windows 2000

Описание

Функция CreatelconFromResource позволяет создать пиктограмму или курсор из двоичных данных ресурса с описанием пиктограммы. Эти биты обычно загружаются с помощью функций  LookupIconldFromDirectoryEx и LoadResource.

Синтаксис

HICON CreateIconFromResource( PBYTE pblconBits, DWORD cblconBits, BOOL Ысоп, DWORD dwVersion)

Параметры pblconBits

PBYTE. Указатель на буфер, содержащий двоичные данные ресурса irak-тограммы или курсора.

cblconBits

DWORD. Размер в байтах буфера, указанного параметром pblconBits.

Ысоп

BOOL. Устанавливается в значение TRUE для создания пиктограммы, танавливается в значение FALSE для создания курсора.

dw Version

DWORD. Номер версии формата пиктограммы или курсора для двоичных данных ресурса, указанных параметром pblconBits. Этот параметр может иметь одно из значений, представленных в табл. 13.7. Во всех приложениях на основе Win32 для пиктограмм и курсоров используется формат Windows 3.x.

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

HICON. Дескриптор пиктограммы или курсора. В случае возникновения ошибки возвращаемое значение — NULL.

Таблица 13.7. Значения параметра dwVersion функции CreatelconFromResource

Формат

dwVersion

Windows 2.x

0x00020000

Windows 3.x

0x00030000

Включаемый файл

winuser.h

См. также

Destroylcon, Createlcon, CreatelconFromResourceEx, Createlconlndirect, GetSystemMetrics

Пример

В следующем примере для поиска соответствующей пиктограммы в каталоге пиктограмм "MYAPP1 применяется функция LookupIconldFromDirectory, когда пользователь выбирает пункт меню Test!. Для создания пиктограммы из двоичных данных ресурса, загруженных с помощью функции FindResource, применяется функция CreatelconFromResource.

Си.    \local-sources\cbapl3\13-12.txt

CreatelconFromResourceEx               • Windows 98   • Windows 2000

Описание

Функция CreatelconFromResourceEx аналогична функции CreatelconFromResource, за исключением того, что в ней можно указывать размеры.

Синтаксис

HICON CreateIconFromResourceEx( PBYTE pblconBits, DWORD cblconBits, BOOL Ысоп, DWORD dwVersion, int cxDesired, int cy Desired, UINT u flags )

Параметры pblconBits

PBYTE. Указатель на буфер, содержащий двоичные данные ресурса пиктограммы или курсора.

cblconBits Ысоп

DWORD. Размер в байтах буфера, указанного параметром pblconBits. BOOL. Устанавливается в значение TRUE для создания пиктограммы. Устанавливается в значение FALSE для создания курсора.

dw Version

DWORD. Номер версии формата пиктограммы -или курсора для двоичных данных ресурса, указанных параметром pblconBits. Этот параметр может иметь одно из значений, представленных в табл. 13.7. Во всех приложениях на основе Win32 для пиктограмм и курсоров используется формат Windows 3.x.

cxDesired

int Ширина пиктограммы или курсора в пикселях. Если этот параметр установлен равным 0 и параметр u Flags не включает флажок LR_LOADREALSIZE, применяется значение системного параметра SM_CXICON или SM_CXCURSOR.

cyDesired

int. Высота пиктофаммы или курсора в пикселях. Если этот параметр ус тановлен равным 0 и параметр uFlags не включает флажок LR_LOADREALSIZE, применяется значение системного параметра SM_CYICON или SM_CYCURSOR

uFlags

UINT. Комбинация значений, приведенных в табл. 13.8, объединенных ( помощью двоичного оператора OR (|).

Таблица 13.8. Значения параметра uFlags функции CreatelconFromResourceEx

Значение

Описание

LR_DEFAULTCOLOR

Использовать заданный по умолчанию формат представления цвета.

LR_LOADREALSIZE

Установить ширину и высоту, как указано членами biWidth и b/He/ght структуры BITM APINFOHEADER , которая определяет пиктограмму или курсор. Параметры cxDesired и cyDesired игнорируются.

LR_MONOCHROME

Создать монохромную пиктограмму или курсор.

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

HICON. Дескриптор пиктограммы или курсора. В случае возникновения ошибки возвращаемое значение — NULL.

Включаемый файл

winuser.h

См. также

Destroylcon, Createlcon, CreatelconFromResource, Createlconlndirect, GetSystemMetrics

Пример

Следующий пример аналогичен примеру для функции CreatelconFrom Resource, за исключением того, что для поиска пиктограммы с размерам 16x16 в каталоге пиктограмм применяется функция LookupIconldFrom DirectoryEx, а для создания пиктограммы из найденного ресурса применя ется функция CreatelconFromResourceEx.

См.    \local-sources\chapl3\13-13.txt 

Createlconlndirect                        • Windows 98   • Windows 2000

Описание

Функция Createlconlndirect позволяет создать пиктограмму или курсор го данным структуры ICONINFO.

Синтаксис

HICON Createlconlndirect( PICONINFO pici )

Параметры

pici

PICONINFO. Указатель на структуру ICONINFO, применяемую в данно! функции для создания пиктограммы или курсора. Определение структур! ICONINFO приведено ниже.

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

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

Включаемый файл

winuser.h

См. также

Destroylcon, Createlcon, CreatelconFromResource, CreatelconFromResourceEx, GetSystemMetrics

Определение ICONINFOtypedef struct    ICONINFO ( BOOL         flcon;

DWORD       xHotspot; DWORD       yHotspot; HBITMAP hbmMask; HBITMAP hbmColor; }    ICONINFO,   *PICONINFO;