Поделиться через


Структура IMAGELISTDRAWPARAMS (commctrl.h)

Содержит сведения об операции рисования списка изображений и используется с функцией IImageList::D raw .

Синтаксис

typedef struct _IMAGELISTDRAWPARAMS {
  DWORD      cbSize;
  HIMAGELIST himl;
  int        i;
  HDC        hdcDst;
  int        x;
  int        y;
  int        cx;
  int        cy;
  int        xBitmap;
  int        yBitmap;
  COLORREF   rgbBk;
  COLORREF   rgbFg;
  UINT       fStyle;
  DWORD      dwRop;
  DWORD      fState;
  DWORD      Frame;
  COLORREF   crEffect;
} IMAGELISTDRAWPARAMS, *LPIMAGELISTDRAWPARAMS;

Члены

cbSize

Тип: DWORD

Размер этой структуры в байтах.

himl

Тип: HIMAGELIST

Дескриптор списка изображений, который содержит изображение для рисования.

i

Тип: int

Отсчитываемый от нуля индекс рисуемого изображения.

hdcDst

Тип: HDC

Дескриптор контекста целевого устройства.

x

Тип: int

Координата X, указывающая место рисования изображения.

y

Тип: int

Координата Y, указывающая место рисования изображения.

cx

Тип: int

Значение типа , указывающее количество пикселей для рисования относительно левого верхнего угла операции рисования в соответствии с параметрами xBitmap и yBitmap. Если значения cx и cy равны нулю, то Draw рисует весь допустимый раздел. Метод не гарантирует допустимость параметров.

cy

Тип: int

Значение типа , указывающее количество пикселей для рисования относительно левого верхнего угла операции рисования в соответствии с параметрами xBitmap и yBitmap. Если значения cx и cy равны нулю, то Draw рисует весь допустимый раздел. Метод не гарантирует допустимость параметров.

xBitmap

Тип: int

Координата X, указывающая левый верхний угол операции рисования в ссылке на само изображение. Пиксели изображения, которые находятся слева от xBitmap и выше yBitmap , не отображаются.

yBitmap

Тип: int

Координата Y, указывающая левый верхний угол операции рисования в ссылке на само изображение. Пиксели изображения, которые находятся слева от xBitmap и выше yBitmap , не отображаются.

rgbBk

Тип: COLORREF

Цвет фона изображения. Этот параметр может быть определяемым приложением rgb-значением или одним из следующих значений.

Значение Значение
CLR_DEFAULT
Цвет фона по умолчанию. Изображение рисуется с использованием цвета фона списка изображений.
CLR_NONE
Без цвета фона. Изображение рисуется прозрачно.

rgbFg

Тип: COLORREF

Цвет переднего плана изображения. Этот элемент используется только в том случае, если fStyle содержит флаг ILD_BLEND25 или ILD_BLEND50 . Этот параметр может быть определяемым приложением rgb-значением или одним из следующих значений:

Значение Значение
CLR_DEFAULT
Цвет переднего плана по умолчанию. Изображение рисуется с использованием системного цвета выделения в качестве цвета переднего плана.
CLR_NONE
Цвет смешения отсутствует. Изображение смешивается с цветом контекста целевого устройства.

fStyle

Тип: UINT

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

dwRop

Тип: DWORD

Значение , указывающее код растровой операции. Эти коды определяют, как данные цвета исходного прямоугольника будут сочетаться с данными цвета для целевого прямоугольника для достижения окончательного цвета. Этот элемент игнорируется, если fStyle не содержит флаг ILD_ROP . Ниже приведены некоторые распространенные коды растровых операций:

Значение Значение
ЧЕРНОТА
Заполняет прямоугольник назначения, используя цвет, связанный с нулевым индексом в физической палитре. (Черный цвет для физической палитры по умолчанию).
DSTINVERT
Инвертирует прямоугольник назначения.
MERGECOPY
Объединяет цвета исходного прямоугольника с заданным шаблоном с помощью логического оператора AND .
MERGEPAINT
Объединяет инвертированные исходные цвета прямоугольника с цветами целевого прямоугольника с помощью логического оператора OR .
NOTSRCCOPY
Копирует перевернутый исходный прямоугольник в место назначения.
NOTSRCERASE
Объединяет исходный и целевой цвета прямоугольника с помощью логического оператора OR . Инвертирует результирующий цвет.
PATCOPY
Копирует указанный шаблон в целевой растровый рисунок.
PATINVERT
Объединяет указанные цвета узора с цветами прямоугольника назначения с помощью логического оператора XOR .
PATPAINT
Объединяет цвета узора с цветами инвертированного исходного прямоугольника и объединяет результат с цветами прямоугольника назначения с помощью оператора Boolean OR .
SRCAND
Объединяет исходный и целевой цвета прямоугольника с помощью логического оператора AND .
SRCCOPY
Копирует исходный прямоугольник непосредственно в целевой прямоугольник.
SRCERASE
Объединяет инвертированные цвета целевого прямоугольника с цветами исходного прямоугольника с помощью логического оператора AND .
SRCINVERT
Объединяет исходный и целевой цвета прямоугольника с помощью логического оператора XOR .
SRCPAINT
Объединяет исходный и целевой цвета прямоугольника с помощью логического оператора OR .
БЕЛИЗНЫ
Заполняет прямоугольник назначения, используя цвет, связанный с индексом в физической палитре. Этот цвет является белым для физической палитры по умолчанию.

fState

Тип: DWORD

Флаг, указывающий состояние рисования. Этот элемент может содержать один или несколько флагов состояния списка изображений. Для использования этого элемента необходимо использовать comctl32.dll версии 6. См. примечания.

Frame

Тип: DWORD

Используется с эффектом альфа-смешивания .

При использовании с ILS_ALPHA этот элемент содержит значение альфа-канала. Это значение может быть от 0 до 255, при этом значение 0 является полностью прозрачным, а 255 — полностью непрозрачным.

Для использования этого элемента необходимо использовать comctl32.dll версии 6. См. примечания.

crEffect

Тип: DWORD

Цвет, используемый для эффектов свечения и тени . Для использования этого элемента необходимо использовать comctl32.dll версии 6. См. примечания.

Комментарии

Наложение — это изображение, нарисованное поверх основного изображения, указанного в элементе i этой структуры. Чтобы указать изображение наложения, используйте побитовый оператор OR для объединения fStyle с макросом INDEXTOOVERLAYMASK , передавая в макросе один индекс наложения. Этот образ должен быть ранее указан в качестве наложения с помощью API ImageList_SetOverlayImage .

Чтобы извлечь изображение наложения из fStyle, используйте побитовый оператор AND , чтобы маскировать fStyle со значением ILD_OVERLAYMASK .

Comctl32.dll версии 6 не распространяется. Чтобы использовать Comctl32.dll версии 6, необходимо указать его в манифесте. Дополнительные сведения о манифестах см. в разделе Включение визуальных стилей.

Требования

   
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть commctrl.h (включая Commctrl.h)