Структура LOGBRUSH32


Структура LOGBRUSH32 определяет стиль, цвет и узор физической кисти. Она похожа на LOGBRUSH, но используется, чтобы поддерживать совместимость между 32-разрядными и 64-разрядными платформами, когда мы осуществляем записи метафайла на одной платформе, а затем воспроизводим его на другой. В соответствии с этим, структура используется только в структуре EMRCREATEBRUSHINDIRECT. Если код будет только на одной платформе, достаточно LOGBRUSH .

Синтаксис

typedef struct tagLOGBRUSH32 {
  UINT     lbStyle;
  COLORREF lbColor;
  ULONG    lbHatch;
} LOGBRUSH32, *PLOGBRUSH32, NEAR *NPLOGBRUSH32, FAR *LPLOGBRUSH32;

Члены структуры

lbStyle

Устанавливает стиль кисти. Член структуры lbStyle должен быть одним из ниже перечисленных стилей.

 

Значение Предназначение
BS_DIBPATTERN Узорная кисть, определяется спецификацией не зависящего от устройства точечного рисунка DIB. Если lbStyle - BS_DIBPATTERN, член структуры lbHatch содержит дескриптор сжатого растрового формата DIB. Для получения дополнительной информации, см. обсуждение члена структуры lbHatch.
BS_DIBPATTERN8X8 Тоже самое, что и BS_DIBPATTERN.
BS_DIBPATTERNPT Узорная кисть, определяется  спецификацией не зависящего от устройства точечного рисунка DIB. Если lbStyle - BS_DIBPATTERNPT, член структуры lbHatch содержит указатель на сжатый растровый формат DIB. Для получения дополнительной информации, см. обсуждение член структуры lbHatch.
BS_HATCHED Штриховая кисть.
BS_HOLLOW Пустая кисть.
BS_NULL Тоже самое, что и BS_HOLLOW.
BS_PATTERN Узорная кисть, определенная точечным рисунком в памяти.
BS_PATTERN8X8 Тоже самое, что и  BS_PATTERN.
BS_SOLID Сплошная кисть.
 

lbColor

Задает цвет, которым кисть должна рисовать. Если lbStyle имеет стиль BS_HOLLOW или BS_PATTERN, lbColor игнорируется.

Если lbStyle - BS_DIBPATTERN или BS_DIBPATTERNPT, младшее слово lbColor устанавливает, содержат ли члены bmiColors структуры BITMAPINFO значения чистого красного, зеленого, синего (RGB)  цвета или индексы в текущей реализованной логической палитре. Член структуры lbColor  должен быть одним из ниже перечисленных значений. 

Значение Предназначение
DIB_PAL_COLORS Таблица цветов состоит из массива 16-разрядных индексов в текущей реализованной логической палитре.
DIB_RGB_COLORS Таблица цветов содержит точные RGB - значения.

Если lbStyle - BS_HATCHED или BS_SOLID, lbColor - код цвета COLORREF. Чтобы создать код цвета COLORREF, используйте макрос RGB.

lbHatch

Устанавливает стиль штриха. Значение зависит от стиля кисти, определенного в lbStyle.

Если в lbStyle установлен  BS_DIBPATTERN, член структуры lbHatch содержит дескриптор сжатого растрового формата DIB. Чтобы получить этот дескриптор, приложение вызывает функцию GlobalAlloc с флажком GMEM_MOVEABLE (или LocalAlloc с LMEM_MOVEABLE), чтобы назначить блок памяти, а затем заполняет память сжатым растровым форматом DIB. Сжатый формат DIB состоит из структуры BITMAPINFO, непосредственно сопровождаемой массивом байтов, которые определяют пиксели точечного рисунка.

Если в lbStyle установлен BS_DIBPATTERNPT, член структуры lbHatch содержит указатель на сжатый растровый формат DIB. Указатель извлекается из блока памяти, созданного функцией LocalAlloc с установкой флажка LMEM_FIXED или GlobalAlloc с установкой флажка GMEM_FIXED, или это - указатель возвращается вызовом такой функции как LocalLock (дескриптор_dib). Сжатый растровый формат DIB состоит из структуры BITMAPINFO, непосредственно сопровождаемой массивом байтов, которые определяют пиксели точечного рисунка.

Если lbStyle - BS_HATCHED, член структуры lbHatch устанавливает ориентацию линий, используемых, чтобы создать штриховку. Он может быть одним из ниже перечисленных значений.

Значение Предназначение
HS_BDIAGONAL Штрих восходящий слева на право под 45 градусов
HS_CROSS Горизонтальный и вертикальный перекрестный штрих
HS_DIAGCROSS Перекрестный штрих под 45 градусов
HS_FDIAGONAL Штрих нисходящий слева на право под 45 градусов
HS_HORIZONTAL Горизонтальный штрих
HS_VERTICAL Вертикальный штрих

Если в lbStyle установлен BS_PATTERN, lbHatch - дескриптор точечного рисунка, который определяет узор. Точечным рисунком не может быть точечный рисунок секции DIB, который создается функцией CreateDIBSection.

Если в lbStyle установлен BS_SOLID или BS_HOLLOW, lbHatch игнорируется.

Замечания

Несмотря на то, что lbColor управляет цветом изображения штриховой кисти, функции SetBkMode и SetBkColor управляют цветом фона.

Кисти могут создаваться из точечных рисунков или растровых форматов DIB большими, чем 8 на 8 пикселей.

Смотри также 

Обзор Кисти, Структуры, используемые кистями,  BITMAPINFO, CreateDIBSection, EMRCREATEBRUSHINDIRECT, LOGBRUSH, SetBkColor, SetBkMode, COLORREF, RGB

Размещение и совместимость LOGBRUSH32

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Нет

Windows Me

Нет

Windows 98

Нет

Windows 95

Нет

Используемая библиотека

-

Заголовочный файл

 

- объявлено в

Wingdi.h

- включено в

Windows.h

Unicode

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz