Структура LOGBRUSH


Структура LOGBRUSH определяет стиль, цвет и узор физической кисти. Она используется функциями CreateBrushIndirect и ExtCreatePen.

Синтаксис

typedef struct tagLOGBRUSH { 
  UINT     lbStyle; 
  COLORREF lbColor; 
  LONG     lbHatch; 
} LOGBRUSH, *PLOGBRUSH; 

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

lbStyle

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

 

Значение Предназначение
BS_DIBPATTERN Узорная кисть, определяется спецификацией не зависящего от устройства точечного рисунка DIB. Если lbStyle - BS_DIBPATTERN, член структуры lbHatch содержит дескриптор сжатого растрового формата DIB. Для получения дополнительной информации, см. обсуждение члена структуры lbHatch.

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

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 управляют цветом фона.

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

Windows 98/Me, Windows NT/2000/XP: Кисти могут создаваться из точечных рисунков или растровых форматов DIB большими, чем 8 на 8 пикселей.

Смотри также 

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

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

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да версии 3.1 и выше

Windows Me

Да

Windows 98

Да

Windows 95

Да

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

-

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

 

- объявлено в

Wingdi.h

- включено в

Windows.h

Unicode

Нет

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

Не имеется

 

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

Hosted by uCoz