Структура LOGBRUSH32 определяет стиль, цвет и узор физической кисти. Она похожа на LOGBRUSH, но используется, чтобы поддерживать совместимость между 32-разрядными и 64-разрядными платформами, когда мы осуществляем записи метафайла на одной платформе, а затем воспроизводим его на другой. В соответствии с этим, структура используется только в структуре EMRCREATEBRUSHINDIRECT. Если код будет только на одной платформе, достаточно LOGBRUSH .
Синтаксис
typedef struct tagLOGBRUSH32 { UINT lbStyle; COLORREF lbColor; ULONG lbHatch; } LOGBRUSH32, *PLOGBRUSH32, NEAR *NPLOGBRUSH32, FAR *LPLOGBRUSH32; |
Устанавливает стиль кисти. Член структуры 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 |
Нет |
Замечания по платформе |
Не имеется |